我正在使用spring boot构建应用程序,需要通过服务而不是sid连接到Oracle DB.
这些是数据源设置:
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@//hostname.companyname.corp:1500/servicename.companyname.com
spring.datasource.username=username
spring.datasource.password=password
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.OracleDialect
spring.jpa.properties.hibernate.default_schema=SCHEMA_NAME
Run Code Online (Sandbox Code Playgroud)
我已经探讨了关于tns连接的另外两个响应: 通过TNS连接Oracle无法正常工作 以及 如何将JDBC连接到tns oracle
但是我遇到了一个不同的错误:
org.springframework.jdbc.support.MetaDataAccessException:无法获取用于提取元数据的Connection; 嵌套异常是org.springframework.jdbc.CannotGetJdbcConnectionException:无法获取JDBC连接; 嵌套异常是org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:339)〜[spring-jdbc-4.3.13.RELEASE.jar:4.3.13.RELEASE]中的java.sql.SQLException. springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:366)〜[弹簧JDBC-4.3.13.RELEASE.jar:4.3.13.RELEASE]在org.springframework.boot.autoconfigure.orm.jpa.DatabaseLookup .getDatabase(DatabaseLookup.java:72)〜[spring-boot-autoconfigure-1.5.9.RELEASE.jar:1.5.9.RELEASE]在org.springframework.boot.autoconfigure.orm.jpa.JpaProperties.determineDatabase(JpaProperties. java:139)[org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration.jpaVendorAdapter(JpaBaseConfiguration.java:105)[spring] -boot-autoconfigure-1.5.9.RELEASE.jar:1.5.9.RELEASE] at org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration $$ EnhancerBySpringCGLIB $$ 47d988e9.CGLIB $ jpaVendorAdapter $ 4()[spring-boot -autoconfigure-1.5.9.RELEASE.jar:1.5.9.RELEASE] at org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration $$ EnhancerBySpringCGLIB $$ 47d988e9 $$ FastClassBySpringCGLIB $$ 27b4f4ca.invoke()[spring-boot-autoconfigure-1.5.9 .RELEASE.jar:1.5.9.RELEASE]在org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)[spring-core-4.3.13.RELEASE.jar:4.3.13.RELEASE] at at org.springframework.context.annotation.ConfigurationClassEnhancer $ BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:358)[弹簧上下文4.3.13.RELEASE.jar:4.3.13.RELEASE]在org.springframework.boot.autoconfigure.orm. jpa.HibernateJpaAutoConfiguration $$ EnhancerBySpringCGLIB $$ 47d988e9.jpaVendorAdapter()[spring-boot-autoconfigure-1.5.9.RELEASE.jar:1.5.9.RELEASE] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)〜[na: 1.8.0_152] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)〜[na:1.8.0_152] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)〜[na:1.8.0_152] at jav org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)中的a.lang.reflect.Method.invoke(未知来源)〜[na:1.8.0_152] [spring-beans-4.3.13 .RELEASE.jar:4.3.13.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588)[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE ] org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1173)org.springframework.beans.factory中的[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE]. support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1067)[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE] org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java: 513)在组织中的[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE].springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)[spring-beans-4.3.13.RELEASE.jar:4.3.13.RELEASE] org.springframework.beans.factory.support.AbstractBeanFactory $ 1 …
我直接从apache maven文档https://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html复制了maven shade插件的配置
这是我目前的设置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<manifestEntries>
<Main-Class>com.my.app.MainClass</Main-Class>
<X-Compile-Source-JDK>1.8</X-Compile-Source-JDK>
<X-Compile-Target-JDK>1.8</X-Compile-Target-JDK>
</manifestEntries>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer">
<resource>.properties</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.handlers</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.schemas</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.tooling</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.factories</resource>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
我收到了以下错误:
[错误]无法执行目标org.apache.maven.plugins:maven-shade-plugin:3.1.0:shamp(默认)项目cpms-batch:无法解析mojo的配置org.apache.maven.plugins:maven -shade-plugin:3.1.0:参数资源的阴影:在类org.apache.maven.plugins.shade.resource.ManifestResourceTransformer中找不到'resource' - > [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException:无法执行目标org.apache.maven.plugins:maven-shade-plugin:3.1.0:shamp(默认)项目cpms-batch:无法解析mojo的配置org.apache.maven.plugins:maven-shade-插件:3.1.0:参数资源的阴影:无法在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java)的org.apache.maven.plugins.shade.resource.ManifestResourceTransformer类中找到'resource'. 212)org.apache.maache.life.internal.MojoExecutor.execute(MojoExecutor.java:153)org.apache.maache.life.internal.MojoExecutor.execute(MojoExecutor.java:145)org.apache.m上的org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)aven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)位于org.apache.maven.life.internal.builder的org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80). singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307) org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)org.apache.maven.cli.MavenCli.execute(MavenCli.java) :863)org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)at sun.reflect.NativeMethodAccessorImpl.invoke0( sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces)sorImpl.java:43)在org.codehaus.plexus的org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)的java.lang.reflect.Method.invoke(Method.java:498) .classworlds.launcher.Launcher.launch(Launcher.java:229)org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)引起:org.apache.maven.plugin.PluginConfigurationException:无法解析mojo的配置org.apache.maven.plugins:maven-shade-plugin:3.1.0:shade for parameter resource:不能在org.apache.maven.plugin.internal上的org.apache.maven.plug.sternal.DefaultMavenPluginManager.populatePluginFields(DefaultMavenPluginManager.java:662)的org.apache.maven.plugins.shade.resource.ManifestResourceTransformer类中找到'resource' .DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:594)org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPlug)inManager.java:121)org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)... 20更多引起:org.codehaus.plexus.component.configurator.ComponentConfigurationException:找不到' org.codehaus.plexus.component中的org.eapp.sisu.plex上的org.eclipse.sisu.plexus.CompositeBeanHelper.setProperty(CompositeBeanHelper.java:252)中的org.apache.maven.plugins.shade.resource.ManifestResourceTransformer中的资源'orc.codehaus.plexus.component.confonent.converters.composite位于org.codehaus.plexus.component.confonent.converters. .AbstractCollectionConverter.fromChildren(AbstractCollectionConverter.java:54)位于org.eclipse.sisu.plexus.CompositeBeanHelp的org.codehaus.plexus.component.configurator.converters.composite.ArrayConverter.fromConfiguration(ArrayConverter.java:52)org.eclipse.sisu.plexus.CompositeBeanHelper.setProperty(CompositeBeanHelper.java:210)中的er.convertProperty(CompositeBeanHelper.java:273)位于org.codehaus.plexus.component.configurator.converters.composite.ObjectWithFieldsConverter.processConfiguration(ObjectWithFieldsConverter. java:101)atg.caphaus.plexus.component.configureComponent的一个org.cadhaus.plexus.component.configure.confit上的org.apache.maven.polurator.configure.BericComponent.FopginPinginFields(DefaultMavenPluginManager.java:632)... 23更多[错误]
我已经看到有关该错误的多个问题没有答案: 参数资源的阴影:在类org.apache.maven.plugins.shade.resource.ManifestResourceTransformer中找不到'资源' …