-
maven到底怎么才能把文件用ssh的方式复制到远程服务器上去?0
初步从ant转到maven,发觉一下不用去操心库了,甚爽,但是爽完了,突然发觉maven做两件事情特别麻烦,一是怎么打一个可执行的jar包,二是我希望把我的文件拷贝到远程linux服务器上的特定位置,而不是像maven那样装到远程仓库里去的时候,我立马就傻逼了,请问我该咋办呢2014年5月24日 21:53
2个答案 按时间排序 按投票排序
-
可执行的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
-
楼主,你在maven的pom.xml文件中,每一项引用的jar文件都可以指定其scope这个参数,可以指定为provide或者其它的。这样可以指定是只是在编译时使用还是打包时也要使用。你要生成jar文件有相应的maven clean install这样的命令,以及一系列的打包插件都可以用的。
另外,你说的这个远程linux机器这条,不是特别理解意思,你可以自己本地搭建maven的私服,这样需要的文件就优先从私服取了。2014年5月24日 22:33
相关推荐
SSH(Secure Shell)是一种网络协议,用于在不安全的...通过以上步骤,你可以使用Java的SSH2框架(如JSch)连接到远程服务器,执行命令和传输文件。这在自动化运维、远程脚本执行、文件同步等多个场景中都非常实用。
4. **测试与部署**:完成编码后,使用Maven进行单元测试和集成测试,最后通过`mvn package`打包成war文件,部署到应用服务器上。 ** Maven分模块搭建SSH ** 在大型项目中,通常采用模块化开发,以提高代码的可维护...
在IT领域,SSH常用于管理员对服务器进行安全的远程管理。Maven是Apache开发的项目管理和综合工具,主要用于Java项目的构建、依赖管理和项目信息管理。当我们结合SSH和Maven时,通常是在创建一个基于Java的Web应用,...
在 Maven 整合 SSH2 的过程中,我们可能需要在 `settings.xml` 中配置特定的仓库地址,以便获取到 SSH2 相关的库文件。此外,还可以配置代理服务器、全局的用户认证信息等。 **2. Spring 框架** Spring 是一个全面...
SSH2项目通常涉及到创建、配置和使用基于SSH2的安全通信功能,如远程命令执行、文件传输等。而Maven作为Java开发中的构建工具,它通过定义项目对象模型(POM)来自动化项目的构建、报告和依赖管理。 "Maven管理的...
在IT行业中,SSH(Spring、Struts、Hibernate)是一个经典的Java Web开发框架组合,而Maven则是一个项目管理和综合工具,常用于构建和管理Java项目。本篇文章将深入探讨如何利用Maven搭建SSH框架,以及在这个过程中...
在这个场景中,"ssh的做简单的maven的配置文件"指的是如何在SSH项目中集成Maven,利用Maven的依赖管理和构建功能来简化项目的管理。 首先,Maven是一个强大的项目管理和构建工具,它通过一个名为pom.xml的配置文件...
安装完成后,需要在"Eclipse Preferences"中配置Maven的本地仓库路径及远程镜像设置,以提高下载速度。 2. **创建Maven项目** 在Eclipse中,选择"File" -> "New" -> "Other" -> "Maven" -> "Maven Project"。在...
整个过程涉及到了Java的IO流处理,通过输入流向远程服务器发送命令,通过输出流接收服务器返回的结果。此外,如果需要使用密钥认证,还需要处理私钥和公钥文件,ganymed-ssh2库提供了相应的API支持。 这个功能可以...
文件`5传jar包到远程主机上.txt`可能包含将`.jar`文件传输到远程服务器的步骤。通常,这可以通过FTP、SCP或SSH等工具完成。 5. **设置远程调试端口**: 图片`3调试端口:设置远程主机IP和端口.png`和`6复制命令行...
4. **SSH客户端**:如PuTTY或Xshell等,用于远程登录阿里云服务器。 #### 三、安装步骤 下面将详细阐述安装Maven的具体步骤: ##### 1. 下载Maven 通过wget命令直接从官方网站下载Maven最新稳定版,这里以Maven ...
Java使用JSCH(Java Secure Channel)库连接远程服务器是一个常见的任务,特别是在自动化运维、文件传输或者执行远程命令等场景中。JSCH是一个纯Java实现的SSH2库,它提供了连接到支持SSH协议的服务器的能力,如...
- 将Jenkins服务器的公钥内容复制到应用服务器的`appadmin/.ssh/authorized_keys`文件中,以实现免密码登录。 - 修改`/etc/ssh/sshd_config`文件,确保`PubkeyAuthentication yes`及`AuthorizedKeysFile %h/.ssh/...
6. **文件下载**:使用SFTP通道的`get()`方法从远程服务器下载文件到本地。 ```java sftpChannel.cd("/remote/path"); // 进入远程目录 sftpChannel.get("filename", "/local/path/filename"); // 下载文件 ``` 7....
2. 将公钥(默认为`~/.ssh/id_rsa.pub`)复制到远程服务器的`~/.ssh/authorized_keys`文件中。 3. 修改远程服务器的SSH配置文件(`/etc/ssh/sshd_config`),确保`PubkeyAuthentication`设置为`yes`。 4. 重启SSH...
总的来说,通过阿里云ECS Linux服务器搭建Maven私有仓库,不仅可以优化依赖管理,提高构建速度,还能增强内部代码的安全性和可控性。遵循上述步骤,结合提供的文件内容,你可以顺利完成这一过程。在实际操作中,务必...
Ganymed SSH-2 for Java是用纯Java实现SSH-2协议的一个包。可以利用它直接在Java程序中连接SSH服务器。Ganymed SSH-2支持SSH对话(远程命令执行和shell访问),本地和远程端口转发,本地数据流转发,X11转发和SCP。这些...
通过Ganymed SSH2库,开发者可以编写代码来建立SSH连接,然后执行远程服务器上的脚本或命令。这在自动化运维、远程任务执行、系统集成等领域非常常见,因为它提供了安全且编程化的访问方式。 使用Ganymed SSH2进行...
使用JSch,你可以创建一个Session对象来建立与远程服务器的连接,然后通过ChannelSftp创建一个SFTP(Secure File Transfer Protocol)通道,实现文件操作。 以下是使用JSch进行文件上传的基本步骤: 1. 引入JSch库...