gpt4 book ai didi

maven - Tomcat 找不到我的领域的依赖项

转载 作者:行者123 更新时间:2023-11-28 23:41:21 25 4
gpt4 key购买 nike

我正在使用 Netbeans 和 maven 开发一个 java web 应用程序。

我实现了自己的 Realm 扩展类 org.apache.catalina.realm.DataSourceRealm。

所以,我在 context.xml 中有一个由 java.lang.ClassNotFoundException: com.company.authentication.MyRealm 引起的解析错误

我通过使用我的 Realm 构建 JAR 并将其放入 tomcat lib 文件夹来修复此问题。

有什么方法可以自动执行此操作吗?即,让 Tomcat 在部署中识别我的领域,或者让“Tomcat 类加载器”仅使用 WAR 文件(或通过 maven)加载我的领域。

我的领域

public class MyRealm extends DataSourceRealm{
@Override
public Principal authenticate(String username, String credentials) {

...

//Applying encryption
credentials = MyEncrypt.encrypt(credentials);

...

return authenticate(dbConnection, username, credentials);
}
}

我的 context.xml 文件

<Resource auth="Container" driverClassName="org.postgresql.Driver" maxActive="10" maxIdle="3" name="jdbc/my_db" password="123456" type="javax.sql.DataSource" url="jdbc:postgresql://localhost:5432/app_web_login" username="postgres" />    
<Realm className="com.company.authentication.MyRealm" dataSourceName="jdbc/my_db" roleNameCol="role_name" userCredCol="user_pass" userNameCol="user_name" userRoleTable="user_roles" userTable="users" localDataSource="true"/>

我的 pom.xml 文件的一部分

    <dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina</artifactId>
<version>7.0.42</version>
<scope>provided</scope>
</dependency>
...
</dependencies>

最佳答案

目前,没有办法告诉 Tomcat 在 web 应用程序中查找您的 Realm 实现。

关于maven - Tomcat 找不到我的领域的依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19231758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com