maven打jar包,用doc命令執行jar遇到的各種問題(記錄備忘)
事件起因:
公司有個業務需求,兩個系統搞對接,雙方採用中間庫的方式進行資料互動,設立了中間表,對方採用的oracle,我方採用的sqlserver,我負責寫個程式定時從oracle的中間表中讀取資料寫入到公司的sqlserver中,我採用spring+mybatis+quartz+atomikos框架完成了一個配置多資料來源定時從oracle讀取資料到sqlserver的專案,該專案沒有頁面,最初的版本是tomcat啟動本程式,但是由於領導要求程式不在tomcat下執行,要求把專案改成exe型別不需要任何環境安裝直接點選可執行!
最先聽到這個需求的時候有點蒙,之前沒怎麼用java寫桌面程式,後來看了網上的資料,知道要想把專案打成可執行jar包,再來通過exe4j轉成exe,知道怎麼做之後,我就開始對我的maven專案進行打jar包,然後通過doc命令執行jar包進行測試,結果就遇到了各種問題:
問題一:
maven專案打jar包後,沒有指定mian函式入口,spring的專案脫離tomcat啟動可以通過spring的上下文來獲取例項呼叫方法,
ApplicationContext context = new ClassPathXmlApplicationContext("spring-mybatis.xml");
Scheduler scheduler = (Scheduler) context.getBean("testSchedulerFactoryBean");
我們要寫一個含有main方法的類來啟動spring容器,寫好後在maven打包的外掛中指定main函式入口,在mainClass中填入類全名
問題二:
maven專案打jar包後,把mapper層的xml給漏掉了,導致啟動的時候對映mapper例項失敗
這裡我們打包的時候要把xml檔案打包完全,要在pom.xml中加入
問題三:maven打jar包後,外部引用的jar包沒打進去,由於我在外部引入的oracle和sqlserver的資料庫驅動jar包,導致maven打包的時候沒有包這兩個jar包包含進去
解決辦法:由於時間倉促,我採用了比較粗暴的方法,直接把這兩個jar包拷貝到maven打包後的lib包下面去了,
但是啟動的時候還是報錯,說找不到class類檔案,這裡我忽略了一個問題maven打包後會有一個MANIFEST.MF的檔案,裡面有各種配置資訊,jar啟動的時候就是讀裡面的配置資訊來啟動的,
classPath裡面要把外部的jar包路勁資訊加進去,不然jar啟動的時候就讀不到驅動,就會失敗
加入之後啟動jar包
千辛萬苦終於啟動了,至此maven專案通過jar包啟動任務來動態讀寫資料庫操作就成功了,接下來就是用exe4j來把jar包轉exe了,後面的文章會繼續介紹,現在記錄備忘,希望會對大家有所幫助!
相關推薦
maven打jar包,用doc命令執行jar遇到的各種問題(記錄備忘)
事件起因: 公司有個業務需求,兩個系統搞對接,雙方採用中間庫的方式進行資料互動,設立了中間表,對方採用的oracle,我方採用的sqlserver,我負責寫個程式定時從oracle的中間表中讀取資料寫入到公司的sqlserver中,我採用spring+mybatis+qua
java程式在eclipse上打jar包,Linux上成功執行
、eclipse下的java專案結構如下圖所示: 2、manifest.mf檔案定義如下所示 注意: ① manifest.mf檔案最後一行必須是一個空行。 ② lib/dom4j-1.6.1.jar和lib/jaxen-1.1-beta-7.jar之
在Eclipse中如何將spring boot專案打成的jar包,並且雙擊執行cmd 執行jar包,設定開機啟動
1、如何在eclipse中將spring boot專案打成jar包 1.右擊專案,選擇Run As - Maven clean 2.右擊專案,選擇Run As - Maven install 3.成功後 會在專案的target資料夾下生成jar包 2、直接雙擊執行cm
java專案中利用maven打war包,其pom配置
<properties> <jdk.version>1.8</jdk.version> <spring.version>4.1.6.RELEASE</spring.version> <
maven打war包,包括其依賴包
釋出的第一件要做的事情是打包。 在Eclipse左側右擊專案,Debug As -> Debug Configurations -> 雙擊Maven Build 然後看彈出框的右側 右側的Name隨便填寫一個名字, Basedirectory 則選擇專案路徑 Goals是
spring boot 專案maven打war包,部署Tomcat啟動時spring boot未載入,專案訪問404
寫了個restful風格的spring boot專案,maven打成war包後部署Tomcat後,啟動頁面沒有看到spring boot載入的資訊,即控制檯沒有打印出那個大大的spring boot 字串,這是spring boot沒有被容器載入,修改方法如下:@Spring
如何使用Eclipse將Java工程打包成Jar包,並用bat檔案啟動Jar包
作者:翁鬆秀 如何使用Eclipse將Java工程打包成Jar包,並用bat檔案啟動Jar包 如何使用Eclipse將Java工程打包成Jar包,並用bat檔案啟動Jar包 一、用Eclipse將Java工程打包成J
maven專案依賴本地jar包時編譯生成可執行jar包方法
maven專案需要本地jar包時,在根目錄新建lib目錄,將jar包拷貝到lib目錄並且新增到build path此時直接打可執行jar包會出現編譯報錯、啟動時缺少jar包等問題解決方案: 1.增加編譯外掛, 解決Failed to execute goal org.a
深入Jar包:Gradle構建可執行jar包與訪問jar包中資料夾與檔案
## 前言 Java的跨平臺功能聽起來很誘人可口,號稱“Write Once,Run Everywhere”,實際上是“Run Once,Debug Everywhere”... 在實際開發過程中還是會遇到各種各樣的坑的,剛剛解決了一系列問題,特地寫個文章總結一下。 ## 使用Gradle構建Jar包 感謝
將java專案使用maven打成jar包,可在doc視窗直接執行
1、在pom.xml中加上這段程式碼 <build><plugins> <!-- 生成可執行jar --><plugin> <groupId>org.apache.maven.plugins</g
maven打war包的過程中,都用了哪些外掛呢?
一、maven生命週期 http://ifeve.com/introduction-to-the-lifecycle/ https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html &nbs
Springboot中引入本地jar包,並通過maven把專案打成可執行jar包
最近把以往的老專案用SpringBoot進行了重構,老專案中有部分本地依賴包不是放在maven庫裡的,是本地開發直接引入,需要在mvn package的時候把本地依賴jar也打進可執行包中。 這種通用問題,在網上找了一圈卻沒發現什麼好的解決辦
Maven打war包時,新增本地jar包
1、在專案根目錄中新建lib資料夾,新增jar包 2.在pom.xml檔案中新增dependency <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc8</art
把Maven專案連同其依賴jar包一同打成jar包,並執行入口類
需求: 在我本地的電腦上存在一個maven工程,在pom檔案中依賴了一些第三方jar包。現在需要把工程打成jar包,然後放到linux伺服器中執行。 因此i,現在就需要在打jar包的同時既要指定執行
maven打jar包,設定入口類
<build> <plugins> <!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compi
用ant自動打增量包,全量包,打jar包
build.xml:<?xml version="1.0" encoding="UTF-8" ?> <project name="eShop" default="release" basedir="."> <!-- .代表當前專案所
maven eclipse:eclipse命令執行後,專案自動引入了spring-1.2.6 jar包,如何去掉
<dependency> <groupId>org.codehaus.xfire</groupId> <artifactId>xfire-all&l
Maven 打包,Resource下有jar包,整個工程打包成war包,解壓縮war包發現原先Resource下jar包打不開解決辦法
Maven 工具使用 問題描述: Maven 打包,Resource下有jar包,整個工程打包成war包,解壓縮war包發現原先Resource下jar包打不開 出現如下資訊: 解決辦法: maven 打包 修改pom.xml 主體思想,打包的時候不壓縮Resou
IntelliJ IDEA java項目導入jar包,打jar包
選項 可能 version make set 最好 tar project 沒有 一、導入 1、java項目在沒有導入該jar包之前,如圖: 2、點擊 File -> Project Structure(快捷鍵 Ctrl + Alt + Shift + s),
java打War包,war包和jar包的區別
module app clas 完全 doc rip 折扣 通用 enter 以最終客戶的角度來看,JAR文件就是一種封裝,他們不需要知道jar文件中有多少個.class文件,每個文件中的功能與作用,同樣可以得到他們希望的結果。除jar以外對於J2EE來說還有war和ear