![](/img/trans.png)
[英]How to add a local non-maven project as a dependency for a maven project?
[英]No ClassDefFound Error while maven project is added as dependency to a non-maven in java
正在嘗試開發Axis2
Web服務。 我創建了一個動態Web項目,以從WSDL
生成我的Web服務類。 一旦我在Skelton
實現了我的邏輯,該邏輯就具有查詢數據庫的代碼。
所有這些數據庫訪問邏輯都在另一個Maven構建的項目中。 我將這個Maven構建項目作為依賴項添加到了不是Maven構建的Webservice項目的BuildPath
項目BuildPath
中。
當我運行此Web服務並從Soap UI
該服務時,出現如下所示的“未No ClassDef Found Error
”。
[ERROR] com/sample/test/common/dao/PersonDAO
java.lang.NoClassDefFoundError: com/sample/test/common/dao/PersonDAO
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
at java.lang.Class.getConstructor0(Class.java:2699)
at java.lang.Class.newInstance0(Class.java:326)
at java.lang.Class.newInstance(Class.java:308)
at org.apache.axis2.util.Utils$8.run(Utils.java:768)
at org.apache.axis2.java.security.AccessController.doPrivileged(AccessController.java:132)
at org.apache.axis2.util.Utils.createServiceObject(Utils.java:765)
at org.apache.axis2.receivers.AbstractMessageReceiver.makeNewServiceObject(AbstractMessageReceiver.java:245)
at org.apache.axis2.receivers.AbstractMessageReceiver.getTheImplementationObject(AbstractMessageReceiver.java:282)
at rg.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
我的網絡服務代碼
public class EnrollmentServiceSkeleton implements EnrollmentServiceSkeletonInterface{
@Autowired
PersonDAO personDao; // Getters and Setters.
public EnrollmentServiceRespMessage enrollmentServiceProfile (EnrollmentServiceReqMessage enrollmentService) {
// My WebService Logic
}
將Maven項目直接作為非Maven項目的構建路徑中的另一個非Maven的依賴關系,這是正確的方法嗎?
Maven通過構建項目而不是將其依賴關系構建到包中來工作。 因此,使用該庫的項目可以選擇覆蓋或排除Maven缺陷。
當包含在非maven項目中時,您需要構建包含依賴項的項目。
請參閱如何使用Maven創建具有依賴項的可執行JAR? 詳細說明如何執行此操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.