SpringBoot打包無法打入Lib文件夾下自己添加(不在Maven倉庫)中的JAR包。無法將JSP界面打入JAR包。因爲找不到啓動類導致系統無法訪問的問題

今天在SpringBoot打JAR包部署的時候,出現以下問題,記錄整理如下:

問題一:SpringBoot打包無法打入Lib文件夾下自己添加(不在Maven倉庫)中的JAR包。

在SpringBoot工程開發中,需要引入其他jar包,由於沒有通過在POM.XML文件中,通過Maven倉庫增加,而是在WEB-INF下新增lib文件,將需要的jar包放入改文件夾下,然後通過build將jar包引入工程。但是在Maven打包的時候,發現通過上述方式新增的jar包無法打入SpringBoot工程JAR包。

解決方法:

<!-- 解決SpringBoot工程打包無法將工程中lib文件夾中的jar包(沒有添加進Maven倉庫) -->
		 <dependency>   
   			<groupId>com.alibaba</groupId>  
	   		<artifactId>fastjson</artifactId>  
	   		<version>1.2.3</version>  
	   		<scope>system</scope>  
	   		<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/fastjson-1.2.3.jar</systemPath>  
		</dependency>
		<dependency>   
   			<groupId>com.inspur</groupId>  
	   		<artifactId>common-utils</artifactId>  
	   		<version>0.0.1</version>  
	   		<scope>system</scope>  
	   		<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/common-utils-0.0.1-SNAPSHOT.jar</systemPath>  
		</dependency>

問題二:無法將JSP界面打入JAR包。

目錄結構如下

將SpringBoot工程打成JAR包,發現jsp文件沒有打入,導致訪問404。解決方法

<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration> 

                	 <!-- <classifier>execute</classifier>  
                	<skip>true</skip> -->
                	<!-- 解決SpringBoot工程Jar包啓動,找不到啓動類,導致系統無法訪問的問題 -->
                	<includeSystemScope>true</includeSystemScope>
                	 <mainClass>com.inspur.cxy.SpringbootdemoApplication</mainClass>
            	</configuration> 
			</plugin>
			
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
				 <source>1.8</source>
				<target>1.8</target>
				<encoding>utf-8</encoding>
				
				<!-- <compilerArgs>
             <arg>-verbose</arg>
            <arg>-Xlint:unchecked</arg>
            <arg>-Xlint:deprecation</arg>
            <arg>-bootclasspath</arg>
            <arg>${env.JAVA_HOME}/jre/lib/rt.jar</arg>
            <arg>-extdirs</arg> 
            <arg>${project.basedir}/src/main/webapp/WEB-INF/lib</arg>
        </compilerArgs> -->
				</configuration>
			</plugin>
		</plugins>
		<resources>
		<resource>
			<directory>src/main/resources</directory>
			<filtering>true</filtering>
		</resource>
		<resource>
			<!-- 解決SpringBoot打包無法將JSP界面打入的問題 -->
			<directory>src/main/webapp/</directory>
			 <!--注意此次必須要放在此目錄下才能被訪問到 -->
	         <targetPath>META-INF/resources</targetPath>
	        <includes>
	            <include>**/**</include>
	         </includes> 
		</resource>
	</resources>
	</build>

問題三:因爲找不到啓動類導致系統無法訪問的問題

將SpringBoot工程打成JAR包,通過java -jar命令運行,後臺正常啓動,但是訪問提示找不到系統界面,通過解壓jar包發現引入的jar包和jsp頁面都存在,後來發現是由於沒有指定主方法入口導致的。

<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration> 

                	 <!-- <classifier>execute</classifier>  
                	<skip>true</skip> -->
                	<!-- 解決SpringBoot工程Jar包啓動,找不到啓動類,導致系統無法訪問的問題 -->
                	<includeSystemScope>true</includeSystemScope>
                	 <mainClass>com.inspur.cxy.SpringbootdemoApplication</mainClass>
            	</configuration> 
			</plugin>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章