0 0

maven到底怎么才能把文件用ssh的方式复制到远程服务器上去?0

初步从ant转到maven,发觉一下不用去操心库了,甚爽,但是爽完了,突然发觉maven做两件事情特别麻烦,一是怎么打一个可执行的jar包,二是我希望把我的文件拷贝到远程linux服务器上的特定位置,而不是像maven那样装到远程仓库里去的时候,我立马就傻逼了,请问我该咋办呢
2014年5月24日 21:53

2个答案 按时间排序 按投票排序

0 0

可执行的JAR分为2种,第一种把所有的依赖打成一个包,第二种是把依赖放一个目录,然后在META-INFO追加classpath,用maven-jar-plugin,maven-assembly-plugin,maven-shade-plugin可满足你的要求。

重点说下第2个需求,在Maven中可以调用ant插件,如下:
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.7</version>
                <executions>
                    <execution>
                        <id>install</id>
                        <phase>install</phase>
                        <configuration>
                            <target>
                                <property name="cd" value="${project.build.directory}/${project.build.finalName}" />
                                <ant antfile="${basedir}/build.xml">
                                    <target name="deploy"/>
                                </ant>
                            </target>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>ant</groupId>
                        <artifactId>ant-jsch</artifactId>
                        <version>1.6.5</version>
                    </dependency>
                    <dependency>
                        <groupId>com.jcraft</groupId>
                        <artifactId>jsch</artifactId>
                        <version>0.1.42</version>
                    </dependency>
                </dependencies>
            </plugin>

build.xml 如下:
<?xml version="1.0" ?>
<project name ="WEB" default ="deploy" basedir =".">
   
    <property environment="env"/>
   
    <target name="deploy">
        <sshexec host="192.168.1.100" username="root" password="pass" trust="true"
            command="rm -rf /data/work; rm -rf /data/rest-web-standalone.war;">
        </sshexec>
       
    <scp file="${project.build.directory}/rest-web-standalone.war" todir="root:pass@192.168.1.100:/data/rest-web-standalone.war" trust="true" />
   
    </target>
   
</project>

2014年5月25日 14:48
0 0

楼主,你在maven的pom.xml文件中,每一项引用的jar文件都可以指定其scope这个参数,可以指定为provide或者其它的。这样可以指定是只是在编译时使用还是打包时也要使用。你要生成jar文件有相应的maven clean install这样的命令,以及一系列的打包插件都可以用的。
另外,你说的这个远程linux机器这条,不是特别理解意思,你可以自己本地搭建maven的私服,这样需要的文件就优先从私服取了。

2014年5月24日 22:33

相关推荐

    SSH2 java连接远程服务器框架

    SSH(Secure Shell)是一种网络协议,用于在不安全的...通过以上步骤,你可以使用Java的SSH2框架(如JSch)连接到远程服务器,执行命令和传输文件。这在自动化运维、远程脚本执行、文件同步等多个场景中都非常实用。

    Maven的简单使用以及Maven搭建SSH

    4. **测试与部署**:完成编码后,使用Maven进行单元测试和集成测试,最后通过`mvn package`打包成war文件,部署到应用服务器上。 ** Maven分模块搭建SSH ** 在大型项目中,通常采用模块化开发,以提高代码的可维护...

    ssh.rar_maven ssh_ssh Maven

    在IT领域,SSH常用于管理员对服务器进行安全的远程管理。Maven是Apache开发的项目管理和综合工具,主要用于Java项目的构建、依赖管理和项目信息管理。当我们结合SSH和Maven时,通常是在创建一个基于Java的Web应用,...

    maven整合ssh2

    在 Maven 整合 SSH2 的过程中,我们可能需要在 `settings.xml` 中配置特定的仓库地址,以便获取到 SSH2 相关的库文件。此外,还可以配置代理服务器、全局的用户认证信息等。 **2. Spring 框架** Spring 是一个全面...

    Maven管理的ssh2项目

    SSH2项目通常涉及到创建、配置和使用基于SSH2的安全通信功能,如远程命令执行、文件传输等。而Maven作为Java开发中的构建工具,它通过定义项目对象模型(POM)来自动化项目的构建、报告和依赖管理。 "Maven管理的...

    maven搭建ssh

    在IT行业中,SSH(Spring、Struts、Hibernate)是一个经典的Java Web开发框架组合,而Maven则是一个项目管理和综合工具,常用于构建和管理Java项目。本篇文章将深入探讨如何利用Maven搭建SSH框架,以及在这个过程中...

    ssh的做简单的maven的配置文件

    在这个场景中,"ssh的做简单的maven的配置文件"指的是如何在SSH项目中集成Maven,利用Maven的依赖管理和构建功能来简化项目的管理。 首先,Maven是一个强大的项目管理和构建工具,它通过一个名为pom.xml的配置文件...

    Ecplise+Maven搭建SSH框架

    安装完成后,需要在"Eclipse Preferences"中配置Maven的本地仓库路径及远程镜像设置,以提高下载速度。 2. **创建Maven项目** 在Eclipse中,选择"File" -&gt; "New" -&gt; "Other" -&gt; "Maven" -&gt; "Maven Project"。在...

    Java(通过ganymed-ssh2-build210.jar)实现SSH远程连接linux终端

    整个过程涉及到了Java的IO流处理,通过输入流向远程服务器发送命令,通过输出流接收服务器返回的结果。此外,如果需要使用密钥认证,还需要处理私钥和公钥文件,ganymed-ssh2库提供了相应的API支持。 这个功能可以...

    java开发如何进行远程调试远程服务器,在远程服务器上设置断点

    文件`5传jar包到远程主机上.txt`可能包含将`.jar`文件传输到远程服务器的步骤。通常,这可以通过FTP、SCP或SSH等工具完成。 5. **设置远程调试端口**: 图片`3调试端口:设置远程主机IP和端口.png`和`6复制命令行...

    阿里云服务器安装maven教程

    4. **SSH客户端**:如PuTTY或Xshell等,用于远程登录阿里云服务器。 #### 三、安装步骤 下面将详细阐述安装Maven的具体步骤: ##### 1. 下载Maven 通过wget命令直接从官方网站下载Maven最新稳定版,这里以Maven ...

    java使用JSCH进行连接远程服务器Demo

    Java使用JSCH(Java Secure Channel)库连接远程服务器是一个常见的任务,特别是在自动化运维、文件传输或者执行远程命令等场景中。JSCH是一个纯Java实现的SSH2库,它提供了连接到支持SSH协议的服务器的能力,如...

    Jenkins + Maven + SVN + SSH持续集成【原创】

    - 将Jenkins服务器的公钥内容复制到应用服务器的`appadmin/.ssh/authorized_keys`文件中,以实现免密码登录。 - 修改`/etc/ssh/sshd_config`文件,确保`PubkeyAuthentication yes`及`AuthorizedKeysFile %h/.ssh/...

    java SSH FTP下载文件

    6. **文件下载**:使用SFTP通道的`get()`方法从远程服务器下载文件到本地。 ```java sftpChannel.cd("/remote/path"); // 进入远程目录 sftpChannel.get("filename", "/local/path/filename"); // 下载文件 ``` 7....

    SSH三种登录方式,带验证码。

    2. 将公钥(默认为`~/.ssh/id_rsa.pub`)复制到远程服务器的`~/.ssh/authorized_keys`文件中。 3. 修改远程服务器的SSH配置文件(`/etc/ssh/sshd_config`),确保`PubkeyAuthentication`设置为`yes`。 4. 重启SSH...

    阿里云ECSlinux服务器搭建和maven私服仓库技术文档.zip

    总的来说,通过阿里云ECS Linux服务器搭建Maven私有仓库,不仅可以优化依赖管理,提高构建速度,还能增强内部代码的安全性和可控性。遵循上述步骤,结合提供的文件内容,你可以顺利完成这一过程。在实际操作中,务必...

    ganymed-ssh2 远程连接java实例代码

    Ganymed SSH-2 for Java是用纯Java实现SSH-2协议的一个包。可以利用它直接在Java程序中连接SSH服务器。Ganymed SSH-2支持SSH对话(远程命令执行和shell访问),本地和远程端口转发,本地数据流转发,X11转发和SCP。这些...

    ganymed-ssh2-262.jar

    通过Ganymed SSH2库,开发者可以编写代码来建立SSH连接,然后执行远程服务器上的脚本或命令。这在自动化运维、远程任务执行、系统集成等领域非常常见,因为它提供了安全且编程化的访问方式。 使用Ganymed SSH2进行...

    ssh上传下载

    使用JSch,你可以创建一个Session对象来建立与远程服务器的连接,然后通过ChannelSftp创建一个SFTP(Secure File Transfer Protocol)通道,实现文件操作。 以下是使用JSch进行文件上传的基本步骤: 1. 引入JSch库...

Global site tag (gtag.js) - Google Analytics