Я разрабатываю веб-приложение java с Netbeans и maven.Tomcat не может найти зависимость от моего царства
Я реализовал свой собственный класс, расширяющий класс org.apache.catalina.realm.DataSourceRealm.
Итак, у меня есть ошибка синтаксического анализа в context.xml вызванных java.lang.ClassNotFoundException: com.company.authentication.MyRealm
Я установил это путем создания JAR с моим Realm и положить в папку Lib TOMCAT ,
Есть ли способ сделать это автоматически? То есть, Tomcat признает мое королевство в развертывании или заставляет загрузчик «Tomcat Class Loader» загружать мое царство только с файлом WAR (или maven).
Мой Realm
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>