You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Max Offman (JIRA)" <ji...@codehaus.org> on 2009/03/27 05:38:12 UTC

[jira] Commented: (MNG-2785) Incorrect system dependency results the compile-dependent libraries not be included into war

    [ http://jira.codehaus.org/browse/MNG-2785?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=171158#action_171158 ] 

Max Offman commented on MNG-2785:
---------------------------------

I also bumped into this bug. It took me a while to find this report, so here are some additional symptoms for the search engines. I also had an absolute-path <scope>system</scope> dependency. However, unlike the above report, my system dependency was not missing. Odd thing is that it works on my WIN-XP machine.

{noformat}
> cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 5.2 (Tikanga)

> mvn -version
Maven version: 2.0.10
Java version: 1.5.0
OS name: "linux" version: "2.6.18-92.el5xen" arch: "x86" Family: "unix"

> mvn install
...
[WARNING] POM for 'com.xxx.pman:pman-proto-compute:pom:1.0.0-SNAPSHOT:compile' is invalid. It will be ignored for artifact resolution. 
Reason: Failed to validate POM for project com.xxx.pman:pman-proto-compute at Artifact [com.xxx.pman:pman-proto-compute:pom:1.0.0-SNAPSHOT:compile]
...
{noformat} 

If I run w/ the m2eclipse embedded maven on same platform, I get different messages:

{noformat}
The following mojo encountered an error while executing:
Group-Id: org.apache.maven.plugins
Artifact-Id: maven-war-plugin
Version: 2.1-alpha-1
Mojo: war
brought in via: packaging: war

While building project:
Group-Id: com.xxx.pman
Artifact-Id: pman-proto-nb-compute-webapp
Version: 1.0.0-SNAPSHOT
>From file: /root/RSA75/pman/trunk/pman-proto-nb-compute-webapp/pom.xml
Reason: Failed to copy file for artifact[com.xxx.pman:pman-proto-compute:jar:1.0.0-SNAPSHOT:compile]

java.io.FileNotFoundException: /root/RSA75/pman/trunk/pman-proto-compute/target/classes (Is a directory)
	at java.io.FileInputStream.<init>(FileInputStream.java:135)
	at org.codehaus.plexus.util.FileUtils.copyFile(FileUtils.java:929)
	at org.apache.maven.plugin.war.packaging.AbstractWarPackagingTask.copyFile(AbstractWarPackagingTask.java:304)
	at org.apache.maven.plugin.war.packaging.AbstractWarPackagingTask$1.registered(AbstractWarPackagingTask.java:145)
	at org.apache.maven.plugin.war.util.WebappStructure.registerFile(WebappStructure.java:113)
	at org.apache.maven.plugin.war.packaging.AbstractWarPackagingTask.copyFile(AbstractWarPackagingTask.java:140)
	at org.apache.maven.plugin.war.packaging.ArtifactsPackagingTask.performPackaging(ArtifactsPackagingTask.java:76)
	at org.apache.maven.plugin.war.packaging.WarProjectPackagingTask.handleArtifacts(WarProjectPackagingTask.java:151)
	at org.apache.maven.plugin.war.packaging.WarProjectPackagingTask.performPackaging(WarProjectPackagingTask.java:72)
	at org.apache.maven.plugin.war.AbstractWarMojo.buildWebapp(AbstractWarMojo.java:364)
	at org.apache.maven.plugin.war.AbstractWarMojo.buildExplodedWebapp(AbstractWarMojo.java:317)
	at org.apache.maven.plugin.war.WarMojo.performPackaging(WarMojo.java:166)
	at org.apache.maven.plugin.war.WarMojo.execute(WarMojo.java:130)
...
{noformat}


> Incorrect system dependency results the compile-dependent libraries not be included into war
> --------------------------------------------------------------------------------------------
>
>                 Key: MNG-2785
>                 URL: http://jira.codehaus.org/browse/MNG-2785
>             Project: Maven 2
>          Issue Type: Bug
>          Components: Dependencies
>    Affects Versions: 2.0.4
>         Environment: $ java -version
> java version "1.5.0_04"
> $ mvn -v
> Maven version: 2.0.4
>            Reporter: Dmitry Katsubo
>             Fix For: 3.x
>
>
> I want to build a .war file in {{frontend}} project, that depends on {{sabre-lib}} library:
> {code:xml|title=frontend/pom.xml}
> <dependencies>
> 	<dependency>
> 		<groupId>com.company.sabre</groupId>
> 		<artifactId>sabre-lib</artifactId>
> 		<version>0.5</version>
> 	</dependency>
> ...
> {code} 
> The {{sabre-lib}} library itself has the system dependency, that refers the library within the same project, plus one {{sabre-ota-common}} library with common classes:
> {code:xml|title=sabre-lib/pom.xml}
> <dependencies>
> 	<dependency>
> 		<groupId>${project.groupId}</groupId>
> 		<artifactId>sabre-ota-common</artifactId>
> 		<version>0.1</version>
> 	</dependency>
> 	<dependency>
> 		<groupId>com.sun.xml.messaging.saaj</groupId>
> 		<artifactId>saaj-impl</artifactId>
> 		<version>1.3</version>
> 		<scope>system</scope>
> 		<systemPath>${basedir}/lib/saaj-ri.jar</systemPath>
> 		<optional>true</optional>
> 	</dependency>
> ...
> {code}
> When building {{frontend}}, the following message is produced:
> {quote}
> [WARNING] POM for 'com.company:sabre-lib:pom:0.5:compile' is invalid. It will be ignored for artifact resolution. Reason: Failed to validate POM
> [DEBUG] Reason: Failed to validate POM
> [DEBUG] Validation Errors:
> [DEBUG] For dependency Dependency \{groupId=com.sun.xml.messaging.saaj, artifactId=saaj-impl, version=1.3, type=jar\}: system-scoped dependency must specify an absolute path systemPath.
> {quote}
> and, as the result, {{sabre-lib}} is packaged into .war, and {{sabre-ota-common}} is not. I think, this is because {{$\{basedir\}/lib/saaj-ri.jar}} is resolved in {{frontend}} project scope to its directory. However:
> # As soon as optional system dependencies should not be packaged, why to check the path? (solution, provided in [MNG-1173] and [MNG-1187] does not help)
> # Even with  {{$\{basedir\}}} of {{frontend}} project, the path is still absolute, though non-existent. The error message is incorrect then.
> # The build process should fail, as soon as .war is finally incorrectly packaged.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira