您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“如何解決idea中項(xiàng)目可以運(yùn)行,打的jar包運(yùn)行不了的問題”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
遇到的問題:idea中項(xiàng)目可以運(yùn)行,打的jar包運(yùn)行不了
報(bào)錯(cuò)原因: 定時(shí)任務(wù)類中類從上下文拿不到某些Bean,或Netty類那塊從上下文拿不到某些Bean;ScheduleConfig配置類中延時(shí)10000,通過2,3中打包方式可以運(yùn)行。
ScheduleConfig 配置文件
package com.bst.framework.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.scheduling.quartz.SchedulerFactoryBean;import javax.sql.DataSource;import java.util.Properties;/** * 定時(shí)任務(wù)配置 * * @author ruoyi */@Configurationpublic class ScheduleConfig {@Bean public SchedulerFactoryBean schedulerFactoryBean(DataSource dataSource) { SchedulerFactoryBean factory = new SchedulerFactoryBean(); factory.setDataSource(dataSource); // quartz參數(shù) Properties prop = new Properties(); prop.put("org.quartz.scheduler.instanceName", "RuoyiScheduler"); prop.put("org.quartz.scheduler.instanceId", "AUTO"); // 線程池配置 prop.put("org.quartz.threadPool.class", "org.quartz.simpl.SimpleThreadPool"); prop.put("org.quartz.threadPool.threadCount", "20"); prop.put("org.quartz.threadPool.threadPriority", "5"); // JobStore配置 prop.put("org.quartz.jobStore.class", "org.quartz.impl.jdbcjobstore.JobStoreTX"); // 集群配置 prop.put("org.quartz.jobStore.isClustered", "true"); prop.put("org.quartz.jobStore.clusterCheckinInterval", "15000"); prop.put("org.quartz.jobStore.maxMisfiresToHandleAtATime", "1"); prop.put("org.quartz.jobStore.txIsolationLevelSerializable", "true"); // sqlserver 啟用 // prop.put("org.quartz.jobStore.selectWithLockSQL", "SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?"); prop.put("org.quartz.jobStore.misfireThreshold", "12000"); prop.put("org.quartz.jobStore.tablePrefix", "QRTZ_"); factory.setQuartzProperties(prop); factory.setSchedulerName("RuoyiScheduler"); // 延時(shí)啟動(dòng) factory.setStartupDelay(10000); //這塊有坑,需要仔細(xì)研究 factory.setApplicationContextSchedulerContextKey("applicationContextKey"); // 可選,QuartzScheduler // 啟動(dòng)時(shí)更新己存在的Job,這樣就不用每次修改targetObject后刪除qrtz_job_details表對應(yīng)記錄了 factory.setOverwriteExistingJobs(true); // 設(shè)置自動(dòng)啟動(dòng),默認(rèn)為true factory.setAutoStartup(true); return factory; } }
1.idea插件打包 , 這種形式打包很容易遇到bug,各種bean創(chuàng)建不了。
2.mvn打包:
https://blog.csdn.net/qq_36159851/article/details/79699193
mvn命令無法識(shí)別:https://www.cnblogs.com/rgever/p/9824992.html
3. build Artifacts 打包 這種可靠一些,指定主類
https://blog.csdn.net/qq_43619459/article/details/108014917
“如何解決idea中項(xiàng)目可以運(yùn)行,打的jar包運(yùn)行不了的問題”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。