Dependencies marked for export into WEB-INF/lib should be fully exported
regardles of the ordering in Java Build Path
---------------------------------------------------------------------------------------------------------------------
Key: IVYDE-210
URL: https://issues.apache.org/jira/browse/IVYDE-210
Project: IvyDE
Issue Type: Bug
Components: classpath container
Environment: latest ivy from trunk, eclipse 3.5, WTP 3.1
Reporter: Ivica Loncar
Create dynamic web project and create ivy configuration.
This is a relevant part of ivy.xml that can be used to demonstrate bug.
{code}
<configurations>
<conf name="default" />
<conf name="compile" />
<conf name="runtime" />
<conf name="test" />
<conf name="sources" />
</configurations>
<dependencies>
<dependency org="javax.jms" name="jms" rev="1.1"
conf="compile->default" />
<dependency org="org.springframework" name="spring-aop" rev="2.5.6"
conf="runtime->default" />
<dependency org="org.springframework" name="spring-jms" rev="2.5.6"
conf="runtime->default" />
<dependency org="org.springframework" name="spring-web" rev="2.5.6"
conf="runtime->default" />
<dependency org="org.springframework" name="spring-webmvc" rev="2.5.6"
conf="runtime->default" />
<dependency org="org.aspectj" name="aspectjrt" rev="1.6.5"
conf="runtime->default" />
<dependency org="org.aspectj" name="aspectjweaver" rev="1.6.5"
conf="runtime->default" />
<dependency org="org.springframework" name="spring-context-support"
rev="2.5.6" conf="runtime->default" />
<dependency org="org.springframework" name="spring-test" rev="2.5.6"
conf="test->default" />
<dependency org="org.springframework" name="spring-jdbc" rev="2.5.6"
conf="test,compile->default" />
<dependency org="commons-fileupload" name="commons-fileupload"
rev="1.2.1" conf="test,compile,runtime->default" />
<dependency org="commons-io" name="commons-io" rev="1.4"
conf="test,compile,runtime->default" />
<dependency org="dom4j" name="dom4j" rev="1.6.1"
conf="test,compile,runtime->default" />
<dependency org="javax.servlet" name="jstl" rev="1.2"
conf="compile->default" />
<exclude org="xml-apis" module="xml-apis" />
<override org="junit" module="junit" rev="4.5" />
<override org="org.slf4j" module="slf4j-api" rev="1.5.6" />
</dependencies>
{code}
h3. Scenario 1
h4. Steps:
- go to the Java Build Path and reorder libraries (last tab under Java Build
Path) in the following order:
1. source folder
1. JRE System library
1. Apache Tomcat
1. _runtime_
1. _compile_
- under J2EE Module dependecies we mark ivy.xml [compile] for export
- we can see that compile classpath container contains libraries like
aopalliance, commons-fileupload, etc. (more than 4 jars)
- publish direclty to the tomcat installation (Do not use workspace as server
location. You have to setup server path and deploy path.)
h4. Result:
- under {TOMCAT_HOME}\webapps\{APPNAME}\WEB-INF\lib we get:
- jms-1.1.jar
- jstl-1.2.jar
- spring-jdbc-2.5.6.jar
h3. Scenario 2
h4. Steps:
- go to the Java Build Path and reorder libraries such that compile comes
before runtime:
1. source folder
1. JRE System library
1. Apache Tomcat
1. _compile_
1. _runtime_
- publish project to tomcat installation
h4. Result:
- under {TOMCAT_HOME}\webapps\{APPNAME}\WEB-INF\lib we get all of the
libraries that we can see under compile configuration in ivy classpath container
The first scenario demonstrates the bug and should be fixed:
- dependencies marked for J2EE export into WEB-INF/lib should be fully
exported in all circumstances and Java Build Path ordering should not have
influence on it
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.