安装后复制可运行的jar
Copy runnable jar after install
我需要在安装生命周期中复制网络文件夹中的 运行nable jar。现在我尝试在我的问题上添加更多细节。
我正在使用类似 Maven 的构建工具开发 java 程序。
之后
现在我在我的 pom 中创建了一些配置文件,安装后我需要将我的 运行nable jar 文件移动到网络目录中。例如我有:
- 我的 jar 文件在 target/myJar.jar
- 网络文件夹在 \192.168.0.11\export\jars
为此,我使用具有以下配置的 maven-upload-plugin:
<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>maven-upload-plugin</artifactId>
<version>1.1</version>
<configuration>
<serverId>MyServer</serverId>
<resourceSrc>${project.build.directory}${project.build.finalName}.${project.packaging}</resourceSrc>
<resourceDest>/home/export/jars</resourceDest>
<url>\192.168.0.11\export\jars</url>
</configuration>
</plugin>
我找不到很多关于这个插件的文档,我想要一些关于 resourceSRC、resourceDest、url 的信息。
我 运行 命令 mvn upload:upload -P Production,我得到的任何东西都被复制到我的远程文件夹中。
我哪里做错了?
这是 Java,不是 Windows。尝试对 url 使用 Java 形式。
我相信你的情况 url 会是这样的:
file://192.168.0.11/export/jars
因为您使用的是 maven-upload-plugin,所以根据 doc 它应该是这样的
<url>file://192.168.0.11/export/jars</url>
但 here 是另一个 post 并取得了一些成功
如果您可以尝试其他插件,这里是另一种使用不同插件的更常见的解决方案
<profiles>
<profile>
<id>publish</id>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>ftp</id>
<phase>install</phase>
<configuration>
<tasks>
<ftp action="send"
server="${ftp.host}" remotedir="${ftp.remotedir}"
userid="${ftp.userid}" password="${ftp.password}"
depends="${ftp.depends}" verbose="${ftp.verbose}">
<fileset dir="${project.build.directory}">
<include
name="${project.build.finalName}.${project.packaging}"/>
</fileset>
</ftp>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>ant</groupId>
<artifactId>ant-commons-net</artifactId>
<version>1.6.5</version>
</dependency>
<dependency>
<groupId>ant</groupId>
<artifactId>ant-nodeps</artifactId>
<version>1.6.5</version>
</dependency>
</dependencies>
</plugin>
<properties>
<ftp.host>hostname</ftp.host>
<ftp.remotedir>/opt/path/to/install</ftp.remotedir>
<ftp.userid>user</ftp.userid>
<ftp.password>mypassword</ftp.password>
<ftp.depends>yes</ftp.depends>
<ftp.verbose>no</ftp.verbose>
</properties>
</profile>
</profiles>
我需要在安装生命周期中复制网络文件夹中的 运行nable jar。现在我尝试在我的问题上添加更多细节。 我正在使用类似 Maven 的构建工具开发 java 程序。
之后现在我在我的 pom 中创建了一些配置文件,安装后我需要将我的 运行nable jar 文件移动到网络目录中。例如我有:
- 我的 jar 文件在 target/myJar.jar
- 网络文件夹在 \192.168.0.11\export\jars
为此,我使用具有以下配置的 maven-upload-plugin:
<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>maven-upload-plugin</artifactId>
<version>1.1</version>
<configuration>
<serverId>MyServer</serverId>
<resourceSrc>${project.build.directory}${project.build.finalName}.${project.packaging}</resourceSrc>
<resourceDest>/home/export/jars</resourceDest>
<url>\192.168.0.11\export\jars</url>
</configuration>
</plugin>
我找不到很多关于这个插件的文档,我想要一些关于 resourceSRC、resourceDest、url 的信息。
我 运行 命令 mvn upload:upload -P Production,我得到的任何东西都被复制到我的远程文件夹中。
我哪里做错了?
这是 Java,不是 Windows。尝试对 url 使用 Java 形式。 我相信你的情况 url 会是这样的:
file://192.168.0.11/export/jars
因为您使用的是 maven-upload-plugin,所以根据 doc 它应该是这样的
<url>file://192.168.0.11/export/jars</url>
但 here 是另一个 post 并取得了一些成功
如果您可以尝试其他插件,这里是另一种使用不同插件的更常见的解决方案
<profiles>
<profile>
<id>publish</id>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>ftp</id>
<phase>install</phase>
<configuration>
<tasks>
<ftp action="send"
server="${ftp.host}" remotedir="${ftp.remotedir}"
userid="${ftp.userid}" password="${ftp.password}"
depends="${ftp.depends}" verbose="${ftp.verbose}">
<fileset dir="${project.build.directory}">
<include
name="${project.build.finalName}.${project.packaging}"/>
</fileset>
</ftp>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>ant</groupId>
<artifactId>ant-commons-net</artifactId>
<version>1.6.5</version>
</dependency>
<dependency>
<groupId>ant</groupId>
<artifactId>ant-nodeps</artifactId>
<version>1.6.5</version>
</dependency>
</dependencies>
</plugin>
<properties>
<ftp.host>hostname</ftp.host>
<ftp.remotedir>/opt/path/to/install</ftp.remotedir>
<ftp.userid>user</ftp.userid>
<ftp.password>mypassword</ftp.password>
<ftp.depends>yes</ftp.depends>
<ftp.verbose>no</ftp.verbose>
</properties>
</profile>
</profiles>