我有战争依赖性:
<dependency>
<groupId>my.package</groupId>
<artifactId>myservices</artifactId>
<version>0.3</version>
<type>war</type>
</dependency>
现在,它存在于我的本地存储库中,并且该类存在于WEB-INF/classes/my/package/myservices
。当我去使用时myservices
,但是,我收到包裹my.package
不存在。 Intelli-J 知道要改变myservices
into my.package.myservices
,但试图import
似乎根本不起作用。
对于这种战争依赖,我需要做一些特别的事情吗?
正如其他答案中指出的:
- 在 Maven 中,您不能像从 JAR 工件那样从 WAR 工件加载类。
- 因此,建议将您想要重用的类拆分为一个单独的 Maven JAR 项目,并在原始 WAR 和新项目中都依赖于该项目。
但是,如果由于某种原因您不能/不想拆分 WAR 项目,您也可以告诉 Maven 除了 WAR 之外您还需要一个 JAR 工件。将其放入 WAR 项目的 POM 中:
<build>
...
<plugins>
...
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<attachClasses>true</attachClasses>
</configuration>
</plugin>
</plugins>
</build>
然后,在构建WAR项目时Maven会创建一个WARand一个 JAR 文件。
Source: Maven War 插件常见问题解答 http://maven.apache.org/plugins/maven-war-plugin/faq.html#attached
改编自 doc_180 的评论,因此它不会被忽视。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)