蚂蚁对maven的转换:正确的方法?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蚂蚁对maven的转换:正确的方法?相关的知识,希望对你有一定的参考价值。
我的任务是将使用ant
创建的java项目转换为maven
。
这就是项目的设置方式。
- 所有源都存储在
src
目录中。 ant
的编译目标是编译整个src
目录。ant
的包装目标有几个子目标。 每个目标都有不同的罐子,里面有include
或exclude
目录。
这是我采取的方法。
- 找出所有依赖项。将它们存放在
DependencyManagement
的parent pom
部分 - 创建一个模块并复制整个
src
目录。 - 编译它。
- 试图为不同的
jar
文件创建单独的模块。
问题:文件是不可分的。大多数文件都依赖于其他文件。我试着分开它们。它导致创建循环依赖。因此,这一步失败了。
- 使用不同的配置文件和
maven-jar-plugin
到include
或exclude
包。
问题1当我尝试这个mvn install -P profile1,profile2
时,target
只有jar
文件用于profile2
。他们都有maven-jar-plugin
,每个都有不同的finalName
。
<profile>
<id>profile1</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<includes>
<include>**/src/.../profile1/**</include>
<finalName>profile1-lib</finalName>
</configuration>
</plugin>
</plugins>
</build>
</profile>
是否有不同的命令或我做错了什么?
问题2其中一个lib中有几个image
文件。
上述方法不会复制结果image
中的jar
文件。
我理解maven
想要resources
目录中的所有资源。我将移动图像,但是现在我试图将它们包含在jar
中。
我添加了maven-resources-plugin
。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/classes</outputDirectory>
<resource>
<directory>src/main/java/jpl/mipl/mdms/FileService/komodo/ui/savannah/subscription/util/resources</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
当我运行mvn install -P profile1
时,我可以看到日志说Copying # resources
。
我也可以看到它们被复制到目标/类。我给插件的路径。但它们都被复制到该目录。
我想保留结构,结果jar
仍然没有它。
答:我必须将它们移动到resources
目录。 maven
很严格。我应该采取哪些不同的做法?
额外问题我使用正确的插件吗?或者我应该使用更高效的插件吗?
谢谢。
对问题1的回答:你错过了</includes>
标签。(可能是因为stackoverflow格式化!)。我不确定你是否可以一次在两个配置文件上执行maven命令。执行此操作时,仅执行第二个配置文件。尝试分别在每个配置文件上执行命令。
对问题2的回答:您错过了<resources>
开头标记。(可能是因为stackoverflow格式化!)。此外,如果你想保留结构,你也可以在<outputDirectory>
标签中提到结构,如下所示:
<outputDirectory>${basedir}/target/classes/src/main/java/jpl/mipl/mdms/FileService/komodo/ui/savannah/subscription/util/resources</outputDirectory>
这可能看起来很疯狂!,但如果您的资源目录很少,则可能会有效。如果你有更多的资源,那么这可能会变得很麻烦。但无论如何,检查这是否有用!
以上是关于蚂蚁对maven的转换:正确的方法?的主要内容,如果未能解决你的问题,请参考以下文章
带有边距和页面转换器的片段内的 ViewPager 无法正确呈现