问题描述
我目前正在使用Intellij作为IDE,并且有4个项目:-一个Admin项目(包含前端的java&ember)-一个WS项目(包含WS)-一个API项目(包含对象,dao的等)-一个主项目,其中仅包含一个pom来引用其他3。
管理员和WS取决于API。
我将所有内容部署在JBoss中。 Maven干净安装有效,但是我无法部署到jboss:我收到ClassNotFoundError:WS在API中找不到类
我的主文件pom看起来像这样:
<dependencies>
<dependency>
<groupId>API</groupId>
<artifactId>API</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>C:/.../api/target/API-1.0.jar</systemPath>
</dependency>
<dependency>
<groupId>WS</groupId>
<artifactId>WS</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>C:/.../ws/www/target/WS-1.0.war</systemPath>
</dependency>
<dependency>
<groupId>Admin</groupId>
<artifactId>Admin</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>C:/.../admin/www/target/Admin-1.0.war</systemPath>
</dependency>
</dependencies>
我使用Maven 3.3.3和Jboss WildFly 8.2.1
在项目设置中,我只是将3个Maven库(Admin,WS,API)放在
在Jboss配置的Deployment选项卡中,列出了2次Wars(Admin,WS)和jar(API)
我得到的错误:
- 无法通过服务模块加载程序在模块“ deployment.WS-1.0.war:main”中定义类... ws.endpoints.helpers.WS:java.lang.LinkageError:无法链接... / ws / endpoints / helpers / WS(服务模块加载程序中的模块“ deployment.WS-1.0.war:main”)造成原因:java.lang.NoClassDefFoundError:... / dao / helpers / Dao造成原因:java.lang.ClassNotFoundException:...来自[Service Module Loader中的模块“ deployment.WS-1.0.war:main”中的dao.helpers.Dao
我究竟做错了什么? 有没有更好的方法来部署所有这些? 我还尝试使用本地Maven存储库查找正确的依赖关系(已删除范围和系统路径),但是我找不到它们,尽管它们位于C:\\ users.m2目录下是正确的
提前致谢!
1楼
将范围指定为“系统”意味着您的工件始终可用并且不会在存储库中查找,因此,如果您在构建生命周期中构建这些工件,则“系统”范围不是正确的选择。 我建议:1.尝试打包您的工件并手动部署到JBoss,以确保它可以正常工作。2.然后尝试使用适用于JBoss的Maven插件: :