0
Netbeans 및 maven을 사용하여 Java 웹 응용 프로그램을 개발하고 있습니다.Tomcat이 내 영역의 종속성을 찾을 수 없습니다.
내 자신의 영역 확장 클래스 org.apache.catalina.realm.DataSourceRealm을 구현했습니다.
그래서, 나는 java.lang.ClassNotFoundException가 발생의 context.xml에서 구문 분석 오류가 있습니다 com.company.authentication.MyRealm를
내 영역과 JAR를 구축하고 바람둥이 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"/>
현재
<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>