loader.path=/opt/myapp/lib/
到我的application.propertIEs文件,这是由PropertySourcesPropertyResolver选取的
2016-04-28 17:27:38.739 DEBUG 22539 --- [restartedMain] o.s.c.e.PropertySourcesPropertyResolver : Found key 'loader.path' in [applicationConfigurationPropertIEs] with type [String] and value '/opt/myapp/lib/'
我的问题是我似乎无法从任何放入此目录的jar中加载任何JDBC驱动程序,我缺少什么?我正在使用默认的嵌入式tomcat服务器.当我尝试使用Class.forname加载驱动程序时,我得到以下内容,就像该目录中不存在jar.
public Connection buildConnection(DataSource dataSource) throws ClassNotFoundException,sqlException { if (dataSource == null) { throw new NullPointerException("Data Source is null!"); } if (!dataSource.isReady()) { throw new IllegalArgumentException("Data Source is reporting that it is not ready!"); } logger.deBUG("Loading JDBC Driver: {}",dataSource.getDriverClass()); Class.forname(dataSource.getDriverClass()); logger.deBUG("Loaded Driver: {}",dataSource.getDriverClass()); logger.deBUG("Attempting to build connection using: {}",dataSource.getConnectionString()); DriverManager.setLoginTimeout(10); Connection c = DriverManager.getConnection(dataSource.getConnectionString(),dataSource.getUsername(),dataSource.getpassword()); if (c != null) { c.setautoCommit(true); c.setReadonly(true); return c; } throw new NullPointerException("Unable to create connection!");}
这是抛出的异常
2016-04-28 17:38:53.525 DEBUG 22539 --- [nio-8081-exec-5] c.c.reportout.processor.JobProcessor : Loading JDBC Driver: com.MysqL.jdbc.Driver2016-04-28 17:38:53.526 WARN 22539 --- [nio-8081-exec-5] c.c.reportout.processor.JobProcessor : Unable to successfully test connection: com.MysqL.jdbc.Driverjava.lang.classNotFoundException: com.MysqL.jdbc.Driverat java.net.urlclassloader.findClass(urlclassloader.java:381) ~[na:1.8.0_91]at java.lang.classLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_91]at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_91]at java.lang.classLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_91]at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass(RestartClassLoader.java:151) ~[spring-boot-devtools-1.3.3.RELEASE.jar:1.3.3.RELEASE]at java.lang.classLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_91]at java.lang.class.forname0(Native Method) ~[na:1.8.0_91]at java.lang.class.forname(Class.java:264) ~[na:1.8.0_91]
关于如何调试这个或我做错了的任何指针?
谢谢
解决方法 所以经过大量的谷歌搜索后,事实证明我能够通过添加以下内容来解决它:<configuration> <layout>ZIP</layout></configuration>
到我的pom文件中的spring-boot-maven-plugin插件.所以工作版现在看起来像这样:
<plugins> <plugin> <groupID>org.springframework.boot</groupID> <artifactID>spring-boot-maven-plugin</artifactID> <version>${spring-boot.version}</version> <configuration> <layout>ZIP</layout> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins>总结
以上是内存溢出为你收集整理的java – SpringBoot loader.path无法加载外部Jar全部内容,希望文章能够帮你解决java – SpringBoot loader.path无法加载外部Jar所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)