【问题标题】:How Can Change Default Locale For TOMCAT In WINDOWS?如何在 WINDOWS 中更改 TOMCAT 的默认语言环境?
【发布时间】:2023-03-15 19:43:01
【问题描述】:

从照片中可以看出,伊朗是设置位置。

我在“%CATALINA_HOME%\conf\server.xml”中使用了领域标签。

 <Realm  className="org.apache.catalina.realm.JDBCRealm"
                driverName="oracle.jdbc.driver.OracleDriver"
                connectionURL="jdbc:oracle:thin:@localhost:1521:xe"
                connectionName="Arash" connectionPassword="who"
                userTable="users" userNameCol="USER_NAME" userCredCol="USER_PASS"
                userRoleTable="USER_ROLES" roleNameCol="ROLE_NAME"  />

TOMCAT运行连接数据库时,报如下错误。

java.sql.SQLException: Locale not recognized
    at oracle.jdbc.driver.T4CTTIoauthenticate.setSessionFields(T4CTTIoauthenticate.java:1059)
    at oracle.jdbc.driver.T4CTTIoauthenticate.<init>(T4CTTIoauthenticate.java:261)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:565)
    at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:715)
    at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:385)
    at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:30)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:564)
    at org.apache.catalina.realm.JDBCRealm.open(JDBCRealm.java:663)
    at org.apache.catalina.realm.JDBCRealm.startInternal(JDBCRealm.java:726)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:155)
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:899)
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:155)
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:441)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:155)
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:769)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:155)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:649)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)

我把这段代码放在“%CATALINA_HOME%\bin\catalina.bat”中

set -Duser.language=en -Duser.country=US

仍然发生错误。

【问题讨论】:

标签: java oracle internationalization tomcat8 jdbcrealm


【解决方案1】:

您需要设置用户所在的地区,而不是设置国家/地区。所以正确的 Java 选项应该是: -Duser.language=en -Duser.region=US

【讨论】:

  • 非常感谢您的回复。我将代码更改为“-Duser.region=US”,但仍然出现错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-04
  • 1970-01-01
  • 1970-01-01
  • 2023-04-09
相关资源
最近更新 更多