我必须将 Java EE 应用程序分发到 Windows 和 Linux。应用程序在 WEB-INF/bin 文件夹中有几个系统相关文件(dll 等)
我正在尝试这种方法。
项目文件夹树是这样的:
- 项目
-- src
---- main
---- java ------
webapp
-------- ...
-------- WEB-INF --------
---- bin(现在是一个空文件夹)
--目标
我已将所有 bin 文件移至:
- 项目
-- distrib
---- bin
------ win
------ linux
在第一步中,我尝试将 Maven 配置为将 distrib/bin/win 复制到目标文件夹中的 WEB-INF/bin
在第二步中,当第一个工作时,我将添加两个配置文件,一个用于 Windows,另一个用于 linux。
在我的 pom.xml 我放了这些行:
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>distro-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>distrib/bin.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
在这里你有 bin.xml 源:
<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>webtop10.2_bin</id>
<fileSets>
<fileSet>
<directory>${project.build.directory}/distrib/bin/win</directory>
<outputDirectory>/WEB-INF/bin</outputDirectory>
<includes>
<include>*.*</include>
</includes>
<fileMode>0750</fileMode>
<directoryMode>0755</directoryMode>
<lineEnding>keep</lineEnding>
</fileSet>
</fileSets>
</assembly>
当我执行 mvn package 构建成功但文件没有复制到 WEB-INF/bin 文件夹。组装插件说:
[INFO] --- maven-assembly-plugin:2.2-beta-5:single (distro-assembly) @ sibila ---
[INFO] Reading assembly descriptor: distrib/bin.xml
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
我是 Maven 的新手,所以我需要帮助。