Итак, я получил новый проект, с которым хотел работать в Intellij.В качестве локального сервера мы используем Tomcat 7.0.68 и JDK 1.8.
Это моя конфигурация в tomcat.
lib / catalina / org / apache / catalina / startup / Authenticators.properties:
NIGHTSHIFT=com.glit.swidA9O.v1.authenticator.NightShiftAuthenticator
conf / catalina.properties:
common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,/Users/Administrator/dev/server/apache-tomcat-7.0.68/shared/nightShift/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar
conf / context:
<Valve className="com.glit.swidA9O.v1.authenticator.NightShiftAuthenticator" changeSessionIdOnAuthentication="true"/>
<Loader className="org.apache.catalina.loader.VirtualWebappLoader"
virtualClasspath="/Users/Administrator/dev/PROJECT/config;/Users/Administrator/dev/PROJECT/data"/>
conf / server.xml
<Engine name="Catalina" defaultHost="localhost">
<!--For clustering, please take a look at documentation at:
/docs/cluster-howto.html (simple how to)
/docs/config/cluster.html (reference documentation) -->
<!--
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
-->
<Realm className="com.glit.swidA7U.v1.realm.NightShiftRealm" roleClassNames="com.glit.swidBS0.v1.shared.principals.NightShiftGroup" userClassNames="com.glit.swidBS0.v1.shared.principals.NightShiftUser"/>
<!-- Use the LockOutRealm to prevent attempts to guess user passwords
via a brute-force attack -->
<Realm className="org.apache.catalina.realm.LockOutRealm">
<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
НАША ПРОБЛЕМА:
Внутри нашего локального сервера Tomcat мы хотим использовать специальную библиотеку под названием NightShift.К сожалению, каждый раз, когда мы пытаемся построить наше приложение с intellij / tomcat, мы получаем эту ошибку как-то:
---- ПОЛНАЯ ----- STACKTRACE ------
Что забавно, потому что если мы попытаемся собрать приложение с помощью eclipse, tomcat будет работать без сбоев и действительно сможет правильно построить проект.
Это настройки для Intellij / Tomcat, которые мы сделали:
Это мои vm-опции (на самом деле я даже не знаю, нужно ли вам это, но на всякий случай):
-DLOG4J2-ROOT=/Users/Administrator/dev/PROJECT/data/logs
-Djava.security.auth.login.config=/Users/Administrator/dev/PROJECT/config/NightShift-config/common/NightShiftJAAS.conf
-Dpu8.config.path=/Users/Administrator/dev/PROJECT/config/NightShift-config
-Dpu8.configuration.id=A7U
-Dpu8.environment=ide
-Djava.util.logging.config.file=/Users/Administrator/dev/PROJECT/config/NightShift-config/log-config.properties
-Djava.security.manager
-Djava.security.policy="/Users/Administrator/dev/server/apache-tomcat-7.0.68/conf/catalina.policy"
Итак, вот как выглядит наш кот:
Внутри «shared» находится папка «nightshift», и есть все необходимые файлы .jar, которые мы упоминали в файле catalina.properties .
Дополнительная информация: Внутри наших артефактов мы не включили "nighthift" jars , потому что мы хотим, чтобы он был установлен в tomcat, а не в нашем приложении.n.
Если вам нужна дополнительная информация, просто спросите.Я с радостью предоставлю вам дополнительную информацию.
Спасибо за продвинутые и наилучшие пожелания Luca