安装后复制runnable jar

时间:2015-06-15 13:48:13

标签: java maven jar maven-plugin

我需要在安装生命周期中复制网络文件夹中的可运行jar。现在我尝试在我的问题上添加更多细节。 我正在使用maven开发一个java程序,就像构建工具一样。之后

现在我在我的pom中创建了一些配置文件,安装后我需要将我的runnable jar文件移动到网络目录中。例如我hava:

  1. 我的jar文件在target / myJar.jar
  2. 网络文件夹位于\ 192.168.0.11 \ export \ jars
  3. 要做到这一点,我正在使用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,我得到任何东西都复制到我的远程文件夹中。

    我在哪里做错了?

2 个答案:

答案 0 :(得分:1)

这是Java,而不是Windows。尝试使用Java表单作为URL。 我相信你的情况网址会是这样的:

file://192.168.0.11/export/jars

答案 1 :(得分:0)

因为您正在使用maven-upload-plugin,所以根据doc它应该是这样的

<url>file://192.168.0.11/export/jars</url>

但是here是另一篇文章,取得了一些成功

如果您可以尝试其他插件,这是另一种使用不同插件的解决方案,这是更常见的

<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>