windows环境下运行java的脚本
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
windows环境下运行java的脚本 前几天研发时遇到eclipse运行不稳定的情况,明明实现了的功能有的时候能运行到,有时运行不到,非常让人头疼。于是想在本地搭一套运行环境,方便比较。 说明:以下情况主要针对java运行 首先考虑Application。maven编译Spring Boot默认打的包是fatjar,所以比较好处理。此处重点考虑传统Application。也可以考虑打成fatjar。用Eclipse->Export 安装fatjar插件\引入maven-shade-plugin插件或assembly插件,均不如意。要么方法费劲还容易错,要么影响到正常使用方式。考虑再三,决定用 在Windows环境下运行Java应用,尤其是传统的Application类型,可能会遇到各种问题,比如Eclipse运行不稳定。在这种情况下,构建一个本地运行环境能提供更好的控制和可比性。本文将介绍如何使用shell脚本来创建一个简单的Java应用运行环境。 我们要知道Maven在编译Spring Boot项目时,默认生成的是fatjar,这使得直接运行变得简单。但对于传统应用,我们可能需要处理多个依赖。一种常见的方式是使用Eclipse的Export功能,或者通过maven-shade-plugin或maven-assembly-plugin来打包,但这可能会带来额外的复杂性或影响正常的构建流程。 下面是一个示例的shell脚本(适用于Linux或Git Bash环境): ```bash #!/bin/bash cur_path="运行目录" # 当前目录 echo "当前目录:" $cur_path projectPath="工程目录" # 工程目录 subProject="目标工程名" # 目标工程名称 echo "项目目录:" $projectPath echo "项目目录:" ${projectPath} cd $projectPath mvn clean # 清理构建 echo "拷贝jar包" mvn dependency:copy-dependencies -DoutputDirectory=$projectPath # 拷贝依赖到工程目录 mvn clean echo "拷贝jar包" mvn dependency:copy-dependencies -DoutputDirectory=$cur_path/lib -pl $subProject # 拷贝依赖到lib目录 echo "编译工程" mvn compile -pl $subProject -DskipTests # 编译指定项目并跳过测试 cp -fr $subProject/target/classes/ $cur_path # 拷贝编译结果到当前目录 # 设置类路径 cd $cur_path x=$(ls lib/*.jar) CL=".;$cur_path/classes" for y in $x; do CL="$CL;$y" done echo "类路径:" $CL # 生成批处理文件启动脚本 echo "java -cp $CL mainClass $*" > $cur_path/start.bat echo "succ" # 运行批处理文件 ./start.bat ``` 这个脚本会执行以下步骤: 1. 更改到工程目录。 2. 清理项目并拷贝所有依赖到工程目录和当前目录的lib文件夹。 3. 编译指定的子项目,跳过测试。 4. 拷贝编译后的class文件到当前目录。 5. 创建一个批处理文件(start.bat),设置类路径并运行主类。 对于WAR类型的项目,我们可以使用`tomcat7-maven-plugin`来运行。只需在pom.xml中配置该插件,并在命令行中执行`mvn tomcat7:run`即可。 如果需要部署到Tomcat服务器,可以通过脚本将WAR包拷贝到Tomcat的webapps目录,然后启动Tomcat服务。例如: ```bash run_home="运行目录" projectPath="项目根目录" subProject="web项目名" sh ./shutdown.sh;sleep 5;rm -rf $run_home/webapps/* # 关闭Tomcat,清理webapps目录 echo "项目目录:" $run_home/webapps/* echo "项目目录:" ${run_home}/webapps/* cd $projectPath mvn clean package -pl $subProject -am -DskipTests # 清理并打包 cp -f $subProject/target/*.war $run_home/webapps/ # 拷贝WAR包 sh $run_home/bin/startup.sh # 启动Tomcat echo "publish complete." ``` 这样的脚本化处理方式,使得管理和部署Java应用变得更加灵活,减少了不必要的复杂性。如果你对Java编程或脚本编写感兴趣,可以继续探索相关知识,提升你的技能水平。同时,记得关注作者获取更多Java学习资料,祝你身体健康,事业有成!
- 粉丝: 9
- 资源: 923
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 使用NetBeans连接SQLserver2008数据库教程中文WORD版最新版本
- XPath实例中文WORD版最新版本
- XPath语法规则中文WORD版最新版本
- XPath入门教程中文WORD版最新版本
- ORACLE数据库管理系统体系结构中文WORD版最新版本
- Sybase数据库安装以及新建数据库中文WORD版最新版本
- tomcat6.0配置oracle数据库连接池中文WORD版最新版本
- hibernate连接oracle数据库中文WORD版最新版本
- MyEclipse连接MySQL的方法中文WORD版最新版本
- MyEclipse中配置Hibernate连接Oracle中文WORD版最新版本