Maven: web-Uygulama Projesi web.xml Özelleştirme
Web uygulama Maven bir projem var ve çalıştığı web.xml dosya Profili bağlı olarak özelleştirmek istiyorum. Beni tanımlayan Maven-Savaş-eklenti, bir "kaynak dosyaları süzülmüş olabilir." dizinini kullanıyorum Ancak, tek başına filtreleme benim için yeterli değil.
Daha ayrıntılı olarak, istiyorumvardır (veya dışarıda)bütün bölüm güvenlik, tercihe bağlı bir çalışan. Bu parçasıdır:
....
....
<security-constraint>
<web-resource-collection>
<web-resource-name>protected</web-resource-name>
<url-pattern>/pages/*.xhtml</url-pattern>
<url-pattern>/pages/*.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>${web.modules.auth.type}</auth-method>
<realm-name>MyRealm</realm-name>
</login-config>
<security-constraint>
....
....
Eğer bu iş kolay değil, iki web.xml dosyaları var ve uygun bir profile bağlı olarak seçmek için bir yolu var mı?
CEVAP
bir şekilde iki web.xml dosyaları var ve uygun bir profile bağlı olarak seçin.
Evet, her profil içinde maven-war-plugin
ve yapılandırma her bir yapılandırma farklı web.xml
noktası ekleyebilirsiniz.
<profiles>
<profile>
<id>profile1</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webXml>/path/to/webXml1</webXml>
</configuration>
</plugin>
...
Her profil maven-war-plugin
yapılandırma belirtmek zorunda alternatif olarak, POM ana bölümünde varsayılan bir yapılandırma kaynağı ve sadece belirli profiller için bunu geçersiz kılabilirsiniz.
Ya da daha basit, POM <build><plugins>
temel bir özelliği, webXml
öznitelik bakın ve sadece farklı tercihler var değerini değiştirmek için kullanın
<properties>
<webXmlPath>path/to/default/webXml</webXmlPath>
</properties>
<profiles>
<profile>
<id>profile1</id>
<properties>
<webXmlPath>path/to/custom/webXml</webXmlPath>
</properties>
</profile>
</profiles>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webXml>${webXmlPath}</webXml>
</configuration>
</plugin>
...
Nasıl maven projesi yerel jar dosyalar...
Birim test projesi yük hedef uygulama&...
Böyle büyük mükafat arşivleme projesi ...
Çalışan node.js Bir Uygulama Projesi k...
SDE - Maven projesi/bir modüle Java pr...