Java 作为Maven工件,我可以拥有什么?如何使用它?
我知道这似乎是一个已经被问过的问题,但我还没有找到一个对我有很大帮助的答案 我读过很多次,每个项目最好生成一个工件。但我的问题是:作为Maven工件,我能拥有什么 例如:我有一个带有自定义生命周期的自定义包装“MyPack”,我可以将整个目录“Mydirectory”作为人工制品吗 假设目录的结构如下所示: 我的目录Java 作为Maven工件,我可以拥有什么?如何使用它?,java,maven,build,Java,Maven,Build,我知道这似乎是一个已经被问过的问题,但我还没有找到一个对我有很大帮助的答案 我读过很多次,每个项目最好生成一个工件。但我的问题是:作为Maven工件,我能拥有什么 例如:我有一个带有自定义生命周期的自定义包装“MyPack”,我可以将整个目录“Mydirectory”作为人工制品吗 假设目录的结构如下所示: 我的目录 -----|--罐子 -----|-----|---client.jar -----|-----|---server.jar -----|--JSP -----|-----|---
-----|--罐子
-----|-----|---client.jar
-----|-----|---server.jar
-----|--JSP
-----|-----|---页面1.jsp
-----|-----|---页面2.jsp
-----|--imgs
-----|-----|---img1.png
-----|-----|---img2.png 然后,我想创建一个新项目,该项目具有打包“MyPack”和类型为“MyPack”的依赖项。在这个项目中,我的Java类需要编译Maven存储库中的client.jar和server.jar,我想在我的新项目中复制存储库中的所有JSP和IMG
我可以用一个定制的Maven插件完成所有这些吗?你可以选择任何作为Maven工件的东西作为Maven工件。 使用以下命令生成工件:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptors>
<descriptor>${basedir}/src/main/assembly/shared.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
....
</plugins>
....
</build>
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>shared</id>
<formats>
<format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<outputDirectory>/</outputDirectory>
<directory>${basedir}/.....</directory>
<includes>
<include> ... </include>
</includes>
<fileMode>0644</fileMode>
<filtered>false</filtered>
<lineEnding>unix</lineEnding>
</fileSet>
</fileSets>
</assembly>
org.apache.maven.plugins
目标是“解包依赖项” 感谢您的回答@esalagea。在使用“解包依赖项”目标之后,我应该使用具有“系统”作用域的依赖项将jars client.jar和server.jar添加到新项目的类路径中,还是有其他解决方案?