将项目打成jar包执行 在liunx上执行 java -xx.jar
2023-09-11 14:22:24 时间
一:普通maven java项目
项目目录
pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.hstc</groupId> <artifactId>insert_data_monitor_res</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <dependencies> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc14</artifactId> <version>10.2.0.4.0</version> </dependency> </dependencies> <build> <plugins> <!-- java编译插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin> <!-- 将依赖导入lib文件夹
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>Main</mainClass> </manifest> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy</id> <phase>install</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> </configuration> </execution> </executions> </plugin>--> <!-- 配置将依赖包一并打入到项目的 jar 包中 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.0.0</version> <configuration> <archive> <manifest> <mainClass>Main</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <id>make-assembly</id> <!-- this is used for inheritance merges --> <phase>package</phase> <!-- 指定在打包节点执行jar包合并操作 --> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>
Jdbc.java
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JdbcConn { private String driver; private String url; private String name; private String pass; public Connection getConnection(){ Connection conn=null; try { Class.forName(this.driver);//找到oracle驱动器所在的类 conn=DriverManager.getConnection(this.url, this.name, this.pass); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; } public void close(){ try { Connection conn=this.getConnection(); Statement stm=this.getPstmt(); if(stm!=null){ stm.close(); } if(conn!=null){ conn.close(); } }catch (Exception e){ e.printStackTrace(); } } public Statement getPstmt() throws SQLException{ Statement stmt=this.getConnection().createStatement(); return stmt; } public ResultSet getRsultSet(String sql) throws SQLException{ ResultSet rs=this.getPstmt().executeQuery(sql); rs.close(); return rs; } public int insert(String sql) throws Exception{ return this.getPstmt().executeUpdate(sql); } public String getDriver() { return driver; } public void setDriver(String driver) { this.driver = driver; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPass() { return pass; } public void setPass(String pass) { this.pass = pass; } }
Main.java
import java.sql.ResultSet; import java.sql.Statement; import java.text.SimpleDateFormat; import java.util.Date; import java.util.UUID; public class Main { public static void main(String[] args) { JdbcConn jdbc=new JdbcConn(); String drive="oracle.jdbc.driver.OracleDriver"; String url="jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS_LIST = (FAILOVER = on) (ADDRESS = (PROTOCOL = TCP)(HOST = 10.2.194.143)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 10.2.194.144)(PORT = 1521)) ) (CONNECT_DATA = (FAILOVER_MODE = (TYPE = select) (METHOD = basic)) (SERVER = dedicated) (SERVICE_NAME = shipc) ) )"; jdbc.setDriver(drive); jdbc.setUrl(url); jdbc.setName("board"); jdbc.setPass("board321"); SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddHHmmss"); StringBuffer sb=new StringBuffer(); sb.append("insert into tf_monitor_sms_log"); sb.append("(uuid,content_desc,phone_num,send_flag,sys_time)"); sb.append("values"); sb.append("('"); sb.append(UUID.randomUUID().toString().replaceAll("-", "")); sb.append("','"); sb.append(args[0]); sb.append("','"); sb.append(args[1]); sb.append("',"); sb.append("'0'"); sb.append(",'"); sb.append(sdf.format(new Date())); sb.append("')"); try { System.out.println("==sql==========="); System.out.println(sb.toString()); System.out.println("==sql==========="); int i=jdbc.insert(sb.toString()); if(i>0){ System.out.println("执行结果:=====success"); }else{ System.out.println("执行结果:=====fail"); } }catch (Exception e){ System.out.println("数据插入出现异常"); e.printStackTrace(); }finally { jdbc.close(); } } }
1.将依赖打到另一个文件夹中。
<build> <plugins> <!-- java编译插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>Main</mainClass> </manifest> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy</id> <phase>install</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> </configuration> </execution> </executions> </plugin> </plugins> </build>
2.将依赖达到同一个jar文件中。
<build> <plugins> <!-- java编译插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin> <!-- 配置将依赖包一并打入到项目的 jar 包中 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.0.0</version> <configuration> <archive> <manifest> <mainClass>Main</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <id>make-assembly</id> <!-- this is used for inheritance merges --> <phase>package</phase> <!-- 指定在打包节点执行jar包合并操作 --> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
web项目将依赖加入lib文件夹
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.6.0</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> <compilerArguments> <extdirs>${project.basedir}/src/main/webapp/WEB-INF/lib</extdirs> </compilerArguments> </configuration> </plugin>
相关文章
- [Java基础] 深入jar包:从jar包中读取资源文件
- jmeter接口测试-调用java的jar包-csv参数化请求-BeanShellPreProcessor生成验签作为请求验证参数-中文乱码----实战
- Java实现 蓝桥杯 算法训练 Remember the A La Mode(暴力)
- Java实现 LeetCode 414 第三大的数
- java实现第七届蓝桥杯棋子换位
- java实现第五届蓝桥杯大衍数列
- Java实现 蓝桥杯VIP 算法训练 大小写判断
- Java实现蓝桥杯VIP 算法训练 sign函数
- Java 蓝桥杯 算法训练 字符串的展开 (JAVA语言实现)
- java 11 不可修改集合API
- 【JAVA】Java循环语句中的continue跳转进入下一次循环是否判断循环条件
- 【JAVA】java中的length和length()
- 【JAVA】java编译错误:编码UTF8/GBK的不可映射字符
- 使用heroku java buildpack 发布spring boot jar到deis云平台
- 【JAVA】 04-Java中的多线程
- Docker Dockerfile JAVA微服务镜像构建Jar
- idea 将普通Java项目打包成可直接执行的jar
- 关于Java -cp引用jar是否支持通配符
- 【java】Java经典面试题整理(附答案)
- 【Java】java 环境配置(详细教程)
- 【java】Java中-> 是什么意思?
- Java 8 中的 java.util.Map#computeIfAbsent
- 解决Maven重复依赖问题(同一个jar包,多个版本)maven同一依赖多版本共存 maven处理mysql-connector-java多版本问题 解决无法将“mvn”项识别为xxx jarjar
- (札记)Java应用架构设计-模块化模式与OSGi
- mysql-connector-java与Mysql、Java的对应版本
- JAVA学习第十九课(java程序的异常处理 (二))
- 基于JAVA实现的WEB端UI自动化 - WebDriver框架篇 - ant使用 - 关于如何手动下载JAR包
- 运行jar文件出现了Exception in thread “main" java.lang.UnsupportedClassVersionError