相关疑难解决方法(0)

设置多个系统属性Java命令行

是否有更简单的方法在命令行上为Java程序指定多个系统属性而不是多个-D语句?

试图避免这种情况:

 java -jar -DNAME="myName" -DVERSION="1.0" -DLOCATION="home" program.jar
Run Code Online (Sandbox Code Playgroud)

我以为我曾经看过有人使用过一个带-D引号的字符串的例子,但我再也找不到这个例子了.

java command-line system-properties

60
推荐指数
4
解决办法
13万
查看次数

在java中获取环境变量值

已在Windows机器(Windows 7)中设置环境变量,并尝试从以下java代码获取变量的值.但是,它返回一个空值.

final String value = System.getenv("PE_CONF_PWD");
System.out.println(value);
//print null
Run Code Online (Sandbox Code Playgroud)

现在,如果我执行以下代码,它会抛出一个安全异常,这意味着用户没有变量.

SecurityManager m = new SecurityManager();
m.checkPropertyAccess("PE_CONF_PWD");
// java.security.AccessControlException: access denied ("java.util.PropertyPermission" "PE_CONF_PWD" "read") 
Run Code Online (Sandbox Code Playgroud)

后来我在JRE安全策略文件中添加了权限并添加了以下条目,但仍返回null值.

permission java.lang.RuntimePermission "getenv.PE_CONF_PWD";
Run Code Online (Sandbox Code Playgroud)

java windows permissions

31
推荐指数
1
解决办法
6万
查看次数

Spring Boot无法从datasource确定jdbc url

我正在使用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 …

java database datasource spring-boot application.properties

6
推荐指数
1
解决办法
1万
查看次数

通过 TNS 连接到 Oracle 不起作用

我有一个 Spring Boot 应用程序,当它以经典方式连接到 Oracle 实例时可以顺利运行:

jdbc:oracle:thin:@<server name>:<port num>/<service name>
Run Code Online (Sandbox Code Playgroud)

但是,当我通过存储在本地驱动器“C:\ORACLE\Client11g\network\admin”中的 tnsnames.ora 转向通过 tns 的连接时,某些东西不起作用,我收到此异常:

Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:267)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:231)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210)
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:51)
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:240)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210)
    at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.handleTypes(MetadataBuildingProcess.java:352)
    at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:111)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:858)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:885)
    at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:60)
    at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:353)
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:373)
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:362)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1642)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1579)
    ... 36 more
Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set
    at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:100)
    at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:54)
    at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:137) …
Run Code Online (Sandbox Code Playgroud)

oracle tns tnsnames spring-boot

3
推荐指数
1
解决办法
9352
查看次数