Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么Wildfly找不到postgresql驱动程序_Java_Postgresql_Wildfly - Fatal编程技术网

Java 为什么Wildfly找不到postgresql驱动程序

Java 为什么Wildfly找不到postgresql驱动程序,java,postgresql,wildfly,Java,Postgresql,Wildfly,我正在用java开发一个多层软件。中间层是访问postgresql数据库的java ejb。但是,当我运行客户端java应用程序时,我有以下错误消息: INFO: EJBCLIENT000069: Using legacy jboss-ejb-client.properties security configuration Exception in thread "main" javax.ejb.EJBException: WFLYEJB0442: Unexpected Error .... C

我正在用java开发一个多层软件。中间层是访问postgresql数据库的java ejb。但是,当我运行客户端java应用程序时,我有以下错误消息:

INFO: EJBCLIENT000069: Using legacy jboss-ejb-client.properties security configuration
Exception in thread "main" javax.ejb.EJBException: WFLYEJB0442: Unexpected Error
....
Caused by: java.lang.NoClassDefFoundError: org/postgresql/Driver
...
Caused by: java.lang.ClassNotFoundException: org.postgresql.Driver
module.xml文件的内容是:

<?xml version="1.0" encoding="utf-8" ?> 
<module xmlns="urn:jboss:module:1.3" name="org.postgresql">
<resources>
<!--the name of your driver -->
<resource-root path="postgresql-42.2.6.jar"/>
</resources>
<dependencies>
    <module name="javax.api"/>
    <module name="javax.transaction.api"/>
</dependencies>
</module>

您的配置似乎正确。启动应用程序服务器时,请确保您实际使用的是已配置的
standalone.xml
。leopal,谢谢您的回答。我重命名了standalone.xml,无法启动wildfly。我重命名了module.xml,并收到以下错误消息:0:08:06847错误[org.jboss.as.controller.management operation](ServerService线程池--42)WFLYCTL0013:操作(“添加”)失败-地址:(((((“子系统”=>“数据源”),((“jdbc驱动程序”=>“postgresql”))-故障描述:“WFLYJCA0115:驱动程序模块[org.postgresql]或者缺少一个it依赖项:[org.postgresql]“10:08:06848错误[org.jboss.as.controller.management operation](ServerService线程池--42)WFLYCTL0013:操作(“添加”)失败-地址:([(((“subsystem”=>“datasources”),(“jdbc驱动程序”=>“org.postgresql”))你能试着从
module.xml
中删除行
org.postgresql.Driver
吗?我从standalone.xml中删除了行(不是从module.xml中),并且有相同的错误消息你的配置似乎正确。启动应用程序服务器时,请确保您实际使用的是已配置的
standalone.xml
。leopal,谢谢您的回答。我重命名了standalone.xml,无法启动wildfly。我重命名了module.xml,并收到以下错误消息:0:08:06847错误[org.jboss.as.controller.management operation](ServerService线程池--42)WFLYCTL0013:操作(“添加”)失败-地址:(((((“子系统”=>“数据源”),((“jdbc驱动程序”=>“postgresql”))-故障描述:“WFLYJCA0115:驱动程序模块[org.postgresql]或者缺少一个it依赖项:[org.postgresql]“10:08:06848错误[org.jboss.as.controller.management operation](ServerService线程池--42)WFLYCTL0013:操作(“添加”)失败-地址:([(((“subsystem”=>“datasources”),(“jdbc驱动程序”=>“org.postgresql”))你能试着从
module.xml
中删除行
org.postgresql.Driver
吗?我从standalone.xml中删除了行(不是从module.xml),并显示了相同的错误消息
<driver name="postgresql" module="org.postgresql">
<driver-class>org.postgresql.Driver</driver-class>
<xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource- 
class>
</driver>
package loginPackage;

import java.sql.Connection;
import java.sql.DriverManager;
import org.postgresql.Driver;
import java.sql.SQLException;


public class LoginDao {
    static String errorMessage;
    static String connectionResult;

    public static String getConnectionResult() {
        return connectionResult;
    }

    public static void setConnectionResult(String connectResult) {
        connectionResult = connectResult;
    }

    public String getErrorMessage() {
        return errorMessage;
    }

    public static void setErrorMessage(String errorMsg) {
        errorMessage = errorMsg;
    }
    public static void LoginCheck(String userCode, String userPswd) {

        setConnectionResult(userConnect(userCode, userPswd));


    }

    public static  String userConnect(String userCode, String userPaswd) {

            try {
                //Connection conn = null;
                setConnectionResult("OK");
                setErrorMessage("OK");
                Driver driver = new org.postgresql.Driver();
                DriverManager.registerDriver(driver);

                Connection conn = DriverManager.getConnection("jdbc:postgresql://localhost:5432/TestDb", userCode, userPaswd);

                System.out.println("Connected to PostgreSQL database!");
                return "SUCCESS";    
            }  

            catch (Exception e) {
                System.out.println("Failed to create JDBC db connection " + e.toString() + e.getMessage());
                setErrorMessage(userCode + ", " + userPaswd + ", " + e.toString() + ", " + e.getMessage() + ", " + e.getStackTrace());
                return "FAILURE" ;
            }
        }
    }