本篇內容介紹了“如何解決idea中項目可以運行,打的jar包運行不了的問題”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
遇到的問題:idea中項目可以運行,打的jar包運行不了
報錯原因: 定時任務類中類從上下文拿不到某些Bean,或Netty類那塊從上下文拿不到某些Bean;ScheduleConfig配置類中延時10000,通過2,3中打包方式可以運行。
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;/** * 定時任務配置 * * @author ruoyi */@Configurationpublic class ScheduleConfig
{@Bean public SchedulerFactoryBean schedulerFactoryBean(DataSource dataSource)
{
SchedulerFactoryBean factory = new SchedulerFactoryBean(); factory.setDataSource(dataSource); // quartz參數 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"); // 延時啟動 factory.setStartupDelay(10000); //這塊有坑,需要仔細研究 factory.setApplicationContextSchedulerContextKey("applicationContextKey"); // 可選,QuartzScheduler // 啟動時更新己存在的Job,這樣就不用每次修改targetObject后刪除qrtz_job_details表對應記錄了 factory.setOverwriteExistingJobs(true); // 設置自動啟動,默認為true factory.setAutoStartup(true); return factory; }
}1.idea插件打包 , 這種形式打包很容易遇到bug,各種bean創建不了。
2.mvn打包:
https://blog.csdn.net/qq_36159851/article/details/79699193
mvn命令無法識別:https://www.cnblogs.com/rgever/p/9824992.html
3. build Artifacts 打包 這種可靠一些,指定主類
https://blog.csdn.net/qq_43619459/article/details/108014917
“如何解決idea中項目可以運行,打的jar包運行不了的問題”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。