我确定这行得通!
我有一个 Maven 依赖插件配置,可以将 java 服务包装器放入 appassembler 目标文件夹中的特定文件夹中。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.tanukisoftware</groupId>
<artifactId>wrapper</artifactId>
<version>3.2.1</version>
<classifier>${target.arch.classifier}</classifier>
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/appassembler/jsw/projectnamehere/lib</outputDirectory>
<destFileName>wrapper-${target.arch}.dll</destFileName>
</artifactItem>
</artifactItem>
</artifactItems>
</configuration>
</plugin>
但它被写为 wrapper.dll (这是 repo 中的文件名)。target.arch 设置为“windows-x86-32”。
这是日志文件的一部分:
[DEBUG] (s) groupId = org.tanukisoftware
[DEBUG] (s) artifactId = wrapper
[DEBUG] (s) version = 3.2.1
[DEBUG] (s) classifier = win32
[DEBUG] (s) type = jar
[DEBUG] (s) overWrite = true
[DEBUG] (s) outputDirectory = <projectfolder>\target\appassembler\jsw\SophisToTradeCacheConsumer\lib
[DEBUG] (s) destFileName = wrapper-windows-x86-32.dll
...
[DEBUG] (f) outputAbsoluteArtifactFilename = false
[DEBUG] (s) outputDirectory = <projectfolder>\target\dependency
[DEBUG] (s) overWriteIfNewer = true
[DEBUG] (s) overWriteReleases = false
[DEBUG] (s) overWriteSnapshots = false
...
[INFO] [dependency:unpack {execution: default-cli}]
[INFO] Configured Artifact: org.tanukisoftware:wrapper:win32:3.2.1:jar
[INFO] Unpacking C:\WORK\maven\repository\org\tanukisoftware\wrapper\3.2.1\wrapper-3.2.1-win32.jarto
<projectfolder>\target\appassembler\jsw\SophisToTradeCacheConsumer\lib
with Includes null and excludes:null
[DEBUG] Expanding: C:\WORK\maven\repository\org\tanukisoftware\wrapper\3.2.1\wrapper-3.2.1-win32.jar into <projectfolder>\target\appassembler\jsw\SophisToTradeCacheConsumer\lib
[DEBUG] expand complete