蚂蚁到MAVEN的转换:正确的方法?



我的任务是将使用ant创建的java项目转换为maven

这就是项目的设置方式。

  1. 所有源都存储在src目录中。

  2. ant的编译目标是编译整个src目录。

  3. ant的包装目标有几个子目标。

    每个目标都有不同的 jar,这些 jar 具有includeexclude目录。

这就是我采取的方法。

  1. 找出所有依赖项。将它们存储在parent pomDependencyManagement部分中

  2. 创建一个模块并复制整个src目录。

  3. 编译了它。

  4. 已尝试为不同的jar文件创建单独的模块。

问题:文件是不可分割的。大多数文件都依赖于其他文件。我试着把它们分开。它会导致创建循环依赖关系。因此,此步骤失败。

  1. 使用不同的配置文件和maven-jar-pluginincludeexclude包。

问题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其中一个库包含多个image文件。

上述方法不会复制结果jar中的image文件。

我知道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>标签。可能是因为堆栈溢出格式!我不确定您是否可以一次在两个配置文件上执行 maven 命令。执行此操作时,仅执行第二个配置文件。尝试在每个配置文件上分别执行该命令。

回答问题 2:您错过了<resources>开始标记。(可能是因为堆栈溢出格式!此外,如果您想保留结构,也可以在<outputDirectory>标签中提及结构,如下所示:

<outputDirectory>${basedir}/target/classes/src/main/java/jpl/mipl/mdms/FileService/komodo/ui/savannah/subscription/util/resources</outputDirectory>

这可能看起来很疯狂!,但如果你的资源目录很少,可能会起作用。如果您有更多的资源,那么这可能会变得很麻烦。但无论如何,检查这是否有帮助!

相关内容

  • 没有找到相关文章

最新更新