问题1:获取不到配置文件的参数
我的配置文件获取的参数如下:
public class Configures{@Value("${configmdm.apk.apkName}")private static String apkName;private void setApkName(String apkName) {Configures.apkName = apkName;}private Integer getApkName(){return Configures.apkName;}}
Configures.getApkName()获取参数的参数值为null
解决方法:
public class Configures{private static String apkName;@Value("${configmdm.apk.apkName}")private void setApkName(String apkName) {Configures.apkName = apkName;}private Integer getApkName(){return Configures.apkName;}}
原因:@Value不能用到static修饰的值上
问题2:打包jar后,运行报错
之前,我虽然将引用的依赖放到了lib文件夹下,但是程序运行时没有指定具体的启动程序,报错如下:
Exception in thread “main” java.lang.reflect.InvocationTargetException
解决方法:
修改pom.xml文件如下,就可以进行打包了
<plugins><!-- 打包 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><configuration><archive><manifest><addClasspath>true</addClasspath><mainClass>me.uniauto.mdm.AdminApplication</mainClass><useUniqueVersions>false</useUniqueVersions><classpathPrefix>lib/</classpathPrefix></manifest><manifestEntries><!--MANIFEST.MF 中 Class-Path 加入资源文件目录--><Class-Path>./resources/</Class-Path></manifestEntries></archive></configuration></plugin><!--拷贝依赖到jar外面的lib目录--><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><executions><execution><id>copy</id><phase>package</phase><goals><goal>copy-dependencies</goal></goals><configuration><!--指定的依赖路径--><outputDirectory>${project.build.directory}/lib</outputDirectory></configuration></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>${java.version}</source><target>${java.version}</target></configuration></plugin></plugins>
如果还遇到其他问题,继续记录!!