Java maven中的war项目依赖性
我需要将war项目中的一个bean类访问到另一个war项目中。该bean类存在于MyProject中。我为另一个名为NewProject的项目编写了pom,如下所示Java maven中的war项目依赖性,java,maven,Java,Maven,我需要将war项目中的一个bean类访问到另一个war项目中。该bean类存在于MyProject中。我为另一个名为NewProject的项目编写了pom,如下所示 <groupId>MyProject</groupId> <artifactId>MyProject</artifactId> <version>1</version> </parent> <artifactId>MyP
<groupId>MyProject</groupId>
<artifactId>MyProject</artifactId>
<version>1</version>
</parent>
<artifactId>MyProject</artifactId>
<packaging>war</packaging>
MyProject
我的项目
1.
我的项目
战争
是否可以在另一个war项目中添加war依赖项?依赖项使用jar工作,您通常会在
.jar
文件中定义一个公共依赖项,该文件可由.war
访问。这不是Maven特有的,而是Java中依赖项的工作方式。.war
的内部结构在类的布局上与.jar不同
因此,在Maven中,我希望定义一个.jar
项目,然后根据初始项目定义两个.war
项目。如果使用以下属性配置:
<attachClasses>true</attachClasses>
true
您将获得具有以下坐标的补充工件:
myGroup
我的神器
我的版本
班级
包含war项目中的所有类,这些类可以用作依赖项,这是一个jar文件,可以解决您的问题。您最好使用项目中需要的
war
类创建jar
然后只需将依赖项添加到项目配置中(classifier
classes)
org.apache.maven.plugins
maven jar插件
班级
编译
罐子
班级
在您的war项目中
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<attachClasses>true</attachClasses>
</configuration></plugin>
希望它有助于……将您的可重用类移动到一个单独的模块中。这将有助于:
- 更快地进行测试
- 将代码用作其他项目中的依赖项
或者,您可以通过使用maven-jar插件
并生成基于分类器的工件来生成一个只包含类的jar。然而,我认为我的建议更好,因为它给了您一个明确的代码分离,并迫使您更好地组织代码 请参见@ArnaudDenoyelle给定问题与此处的问题无关。问题是关于可传递的依赖关系,但这里不是这样。现在接受您的项目
。。。?我不知道你想说什么。你能纠正这个吗?它创建了一个类工件,你可以在所需的项目中使用它。阅读引用的句子。
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<attachClasses>true</attachClasses>
</configuration></plugin>
<dependency>
<groupId>your-group-id</groupId>
<artifactId>your-artifact-id</artifactId>
<version>your-version</version>
<classifier>classes</classifier>