Sto*_*ney 7 java eclipse maven
我有两个Vaadin项目(我将它们命名为A和B).两者都使用Maven来解析依赖关系并且位于同一个工作区中.我正在使用Eclipse,我正在使用m2e-plugin.我想在项目A中使用一些B类.在Eclipse中我可以在没有错误/警告的情况下实例化它们但是当我尝试运行AI时会得到a ClassNotFoundException和a NoClassDefFoundError由于实例化B类而引起的.
.classA 的文件位于...\workspace\A\target\classes和它们所在的项目B中...\workspace\B\target\classes.我一直试图解决这个问题,但我找不到解决方案.到目前为止我尝试了什么:
我认为添加项目是必要的,因为当我删除它时,当我尝试使用A中的B类时,Eclipse会给出错误消息
我不知道还能做什么.也许我必须配置我的pom.xml文件,但我不知道我必须在那里做什么.
编辑:在项目B的pom.xml中:
<groupId>de.qufis</groupId>
<artifactId>CentwertApp</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>CentwertApp</name>
Run Code Online (Sandbox Code Playgroud)
在项目A的pom.xml中:
<dependency>
<groupId>de.qufis</groupId>
<artifactId>CentwertApp</artifactId>
<version>0.0.1-SNAPSHOT</version>
<type>war</type>
<scope>import</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我用maven build为项目B做了清理编译.然后我尝试用项目A做同样的事情然后我收到错误消息:找不到工件de.qufis:CentwertApp:war:0.0.1-SNAPSHOT in vaadin-addons(http://maven.vaadin.com/vaadin -addons)
当我正常运行应用程序时,我仍然得到ClassNotFoundException和NoClassDefError.
编辑2:我已经添加了
<scope>compile</scope>
Run Code Online (Sandbox Code Playgroud)
当我运行Maven构建(清理编译)时,我的构建过程的一部分如下所示:
[INFO]建筑物centwertAdmin 0.0.1-SNAPSHOT
[INFO] ----------------------------------------------- -------------------------
[警告] de.qufis的POM:CentwertApp:war:0.0.1-SNAPSHOT丢失,没有相关信息可用
[INFO] ----------------------------------------------- -------------------------
[INFO]建立失败
然后是错误消息:
[错误]无法在项目centwertAdmin上执行目标:无法解决项目de.qufis的依赖关系:centwertAdmin:war:0.0.1-SNAPSHOT:未能在http中找到de.qufis:CentwertApp:war:0.0.1-SNAPSHOT : //maven.vaadin.com/vaadin-addons缓存在本地存储库中,在vaadin-addons的更新间隔已经过去或强制更新之前,不会重新尝试解析 - > [帮助1]