MyEclipse Forums
Post new topic   Reply to topic
View previous topic Printable version Log in to check your private messages View next topic
Author Message
edross
Post subject: Overlay [xxxxxx] is not a dependency of the project  PostPosted: Apr 09, 2012 - 12:46 PM
Registered Member
Registered Member


Joined: Oct 24, 2004
Posts: 77

We are trying to upgrade to MyEclipse 10 (from 8.6) where we used some other maven plugin (we needed multi project support which the myeclipse pluging did not provide at that time).

Our project builds fine from the command line and from the old maven plugin - however, I can not get the 10.1 plugin to function quite right.

We have 7 war apps packaged into an ear. In addition, we have 1 common web app that we use as an overlay to the other 7 (all the common html, javascript, etc)

In all of the web-apps, I'm now getting the error listed in the subject (the xxx represents the name of the common war). This prevents the projects from building.

The pom is correct and builds fine from the command line.

Any idea how to correct this in MyEclipse?

thx
 
 View user's profile Send private message  
Reply with quote Back to top
support-swapna
Post subject:   PostPosted: Apr 10, 2012 - 06:34 AM



Joined: Nov 11, 2010
Posts: 2491

edross,

Sorry that you are seeing this issue.

Can you answer some more questions for us?

1. Are you using Maven 3 from the command line ? MyEclipse 10 Maven support is based on Maven 3.

2. You can add and use a different Maven runtime by selecting Window > Preferences > MyEclipse > Maven4MyEclipse > Installations > Add.

3. Maven 3 is more strict and is not completely compatible with Maven 2. Take a look at this link for the compatibility notes :
https://cwiki.apache.org/MAVEN/maven-3x-compatibility-notes.html#Maven3.xCompatibilityNotes-ParentPOMResolution

Let us know how it works for you.

_________________
Swapna
MyEclipse Support
 
 View user's profile Send private message  
Reply with quote Back to top
edross
Post subject: The command line is very different from the plug in  PostPosted: Apr 26, 2012 - 01:13 PM
Registered Member
Registered Member


Joined: Oct 24, 2004
Posts: 77

I'm using the same version/Installation of maven - yet
From the command line everything is fine. From the Plug-in I can build (run as mvn builld) and works fine - from eclipse, I get unresolved dependencies and pom errors. (


Code:
Description   Resource   Path   Location   Type
overlay [ id com.crowncastle:commonWeb:bin] is not a dependency of the project.   pom.xml   /businessAnalysisWeb   line 1   Maven Configuration Problem


I clearly have the dependency defined - and the overlay.


Code:
<dependencies>
      <!-- Overlay dependencies -->
      <dependency>
         <groupId>com.crowncastle</groupId>
         <artifactId>commonWeb</artifactId>
         <classifier>bin</classifier>
         <type>zip</type>
         <version>2011.1.8.0</version>
         
      </dependency>



<overlays>
   <overlay>
      <groupId>com.crowncastle</groupId>
      <artifactId>commonWeb</artifactId>
      <classifier>bin</classifier>
      <type>zip</type> 
   </overlay>
</overlays>



Also - Intermittently I will get other unresolved dependencies in my code (classpath will change when I do an update properties)

If I do a mvn eclipse:eclipse then refresh the project I only get the POM errors.

If I do it from the plugin I get unresolved dependencies. (Part of WebLogic Jar)

Code:
import javax.ejb.CreateException;
 
 View user's profile Send private message  
Reply with quote Back to top
edross
Post subject: Command line different from the plugin  PostPosted: Apr 26, 2012 - 02:31 PM
Registered Member
Registered Member


Joined: Oct 24, 2004
Posts: 77

The problem comes from the way the command line processes the dependencies vs how the plugin processes dependencies.

From the command line I get a dependency list like the second image

If done from the command line, the weblogic jar is include as a classpath entry. here, all the files referenced in the weblogic.jar META-INF/manifest classpath are added to the classpath.

When referenced from the plugin, the weblogic jar is placed inside of the "maven dependencies" which does not include the other jars which are listed in the manifest.

(VERY BIG problem with the plugin imo). This basically will make the maven plugin somewhat limited to simple projects.

Editorial comment:

I hate what weblogic did with the manifest. This has caused numerous build issues for us with outdated jars being included. However, we are kinda stuck with this for now.
 
 View user's profile Send private message  
Reply with quote Back to top
support-tony
Post subject:   PostPosted: Apr 27, 2012 - 01:08 PM



Joined: Mar 09, 2011
Posts: 916

Ed,

I'm afraid I'm not clear on what your problem is. The two partial screenshots appear to both be from MyEclipse (or eclipse), rather than one from a command line invocation and one from MyEclipse.

MyEclipse runs maven as it would be run on the command line. If you want to ensure this, you can specify your own maven installation as Swapna mentioned. Also, as she mentioned, MyEclipse 10 uses maven 3, by default, whereas 8.6 uses maven 2. You can check the version of maven by running the following command line:
Code:
mvn -version


There may be incompatibilities between maven 2 and maven 3, though I believe they can be reconciled through pom changes.

You seem to be saying that, with MyEclipse 8.6, maven is looking inside the Weblogic jar file to determine other jars to use for building. This isn't the way maven works, as all dependencies need to be specified through the pom (or the pom hierarchy). Can you provide more detail?

_________________
Tony
MyEclipse Support
 
 View user's profile Send private message  
Reply with quote Back to top
edross
Post subject:   PostPosted: Apr 30, 2012 - 01:35 PM
Registered Member
Registered Member


Joined: Oct 24, 2004
Posts: 77

sorry for the confusion.

Both eclipse and the command line are pointing to the same instance of maven
C:\development\Workspace>mvn -version
Apache Maven 3.0.3 (r1075438; 2011-02-28 12:31:09-0500)
Maven home: C:\development\software\tools\apache-maven-3.0.3\bin\..
Java version: 1.6.0_24, vendor: Sun Microsystems Inc.
Java home: C:\Program Files\Java\jdk1.6.0_24\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows vista", version: "6.0", arch: "x86", family: "windows"
C:\development\Workspace>

The two differences from the above show what happens if

a:

I issue a mvn eclipse:eclipse or (mvn eclipse:myeclipse)

b:

I right mouse over the project and say update project configuration.


In the first case - when I include weblogic I get all of the items included in the manifest.

In the second case - when I include weblogic, i do not get the items in the manifest.

The weblogic.jar does not have a POM so there are no maven transitive dependencies.
 
 View user's profile Send private message  
Reply with quote Back to top
support-tony
Post subject:   PostPosted: May 01, 2012 - 11:30 AM



Joined: Mar 09, 2011
Posts: 916

Ed,

I managed to replicate the POM error regarding the overlay apparently not being defined as a dependency. I've raised a bug report for it. Sorry for the inconvenience though it doesn't appear to affect building.

I can't replicate the other issue about the weblogic.jar manifest classpath being included in the classpath outside of MyEclipse. I imported weblogic.jar into my local maven repository and then included it as a dependency. If I run a maven build from the command line, with the debug option, I don't see anything other than weblogic.jar being added to the classpath on the compile phase. I also don't see the extra jars in the buildpath on either MyEclipse or eclipse. Updating project configuration makes no difference in either case. I also ran "mvn eclipse:eclipse", though this should not be necessary as importing a maven project into MyEclipse effectively does the same job. However, it didn't change anything.

Would it be possible for you to create a small simple project that exhibits the weblogic.jar problem and attach it here? Or, if I've missed something that I need to do to replicate it, please explain what that is.

_________________
Tony
MyEclipse Support
 
 View user's profile Send private message  
Reply with quote Back to top
edross
Post subject: WebLogic jar  PostPosted: May 01, 2012 - 11:43 AM
Registered Member
Registered Member


Joined: Oct 24, 2004
Posts: 77

I believe you are not experiencing the problem because you put the weblogic jar in the repository. This will generally not work as expected. Inside of the weblogic jar is the manifest with the following: Notice all of the of the relative classpath items. many of the jars on the classpath have a manifest that includes other jars (again relative to their location).

If you just use a repository - none of the associated jars will be found and you will encounter many errors when you need a JMS, or JTA, or WS or any weblogic specific items. (been down that path).

we have been forced to include the bea.home in our settings file.

<properties>
<ccic.snapshots.repo>http://ccicusbuild1/nexus/content/repositories/snapshots/</ccic.snapshots.repo>
<bea.home>C:/development/software/bea/bea10.3.2</bea.home>
<bea.lib>${bea.home}/wlserver_10.3/server/lib</bea.lib>
</properties>



Implementation-Title: WebLogic Server 10.3.2.0 Tue Oct 20 12:16:15 PD
T 2009 1267925
Implementation-Version: 10.3.2.0
Class-Path: ../../../modules/features/weblogic.server.modules_10.3.2.0
.jar schema/weblogic-domain-binding.jar schema/weblogic-domain-bindin
g-compatibility.jar schema/diagnostics-binding.jar schema/diagnostics
-image-binding.jar wlcipher.jar webservices.jar xmlx.jar ojdbc6.jar a
qapi.jar EccpressoAsn1.jar EccpressoCore.jar EccpressoJcae.jar mysql-
connector-java-commercial-5.0.3-bin.jar wlsqlserver.jar wldb2.jar wl
sybase.jar wlinformix.jar wlw-langx.jar ../../common/lib/pdev.jar jco
m.jar weblogic-L10N.jar
 
 View user's profile Send private message  
Reply with quote Back to top
support-tony
Post subject:   PostPosted: May 01, 2012 - 12:15 PM



Joined: Mar 09, 2011
Posts: 916

Can you explain how the bea.lib property is used in your pom, or in maven, to get weblogic.jar added to the classpath? I tried a system dependency, which worked but it only added the weblogic.jar, itself.

_________________
Tony
MyEclipse Support
 
 View user's profile Send private message  
Reply with quote Back to top
edross
Post subject: Weblogic jar  PostPosted: May 01, 2012 - 12:19 PM
Registered Member
Registered Member


Joined: Oct 24, 2004
Posts: 77

We have defined a property called bea.home and bea.lib

then we use a system dependency like this

Code:
<dependency>
            <groupId>com.bea.weblogic</groupId>
            <artifactId>weblogic</artifactId>
            <version>10.3</version>
            <scope>system</scope>
            <systemPath>${bea.lib}/weblogic.jar</systemPath>
         </dependency>
 
 View user's profile Send private message  
Reply with quote Back to top
edross
Post subject: weblogic jar  PostPosted: May 01, 2012 - 12:22 PM
Registered Member
Registered Member


Joined: Oct 24, 2004
Posts: 77

you have to have installed all of the bea modules to get the other jars (not just the weblogic.jar)

Then if you use from the command line

Code:
mvn eclipse:eclipse


you will get all of the system dependencies

if you use the myEclipse update project properties you will get a different result.
 
 View user's profile Send private message  
Reply with quote Back to top
support-tony
Post subject:   PostPosted: May 01, 2012 - 12:34 PM



Joined: Mar 09, 2011
Posts: 916

Ed,

Sorry, I'm not sure what you mean by "you have to have installed all of the bea modules". I assume you don't mean installed all the module jars into the local maven repository. If you mean add a system dependency for each jar (as I did with weblogic.jar), then they should show up in the classpath, regardless of where maven is executed.

_________________
Tony
MyEclipse Support
 
 View user's profile Send private message  
Reply with quote Back to top
edross
Post subject: weblogic jar  PostPosted: May 01, 2012 - 12:37 PM
Registered Member
Registered Member


Joined: Oct 24, 2004
Posts: 77

what I mean is that you will need to install weblogic on your machine. That will put all of the jars in the relative location where weblogic needs them.

then you have change your systempath to point to the weblogic lib directory where the weblogic jar is located.
 
 View user's profile Send private message  
Reply with quote Back to top
support-tony
Post subject:   PostPosted: May 01, 2012 - 12:43 PM



Joined: Mar 09, 2011
Posts: 916

Ed,

I have installed weblogic but I'm not seeing those manifest classpath files being added. I'm not sure what you mean by "systempath" but I've been trying to replicate on a Linux machine. I'll try next on a Windows machine.

_________________
Tony
MyEclipse Support
 
 View user's profile Send private message  
Reply with quote Back to top
support-tony
Post subject:   PostPosted: May 02, 2012 - 09:22 AM



Joined: Mar 09, 2011
Posts: 916

Ed,

I tried on Windows XP, after installing WebLogic there and running mvn eclipse:eclipse, but couldn't get command line maven to add the jars mentioned in the weblogic.jar manifest to the classpath. However, I'm still not sure what you meant by "systempath". There is a "systemPath" element in the system dependency for weblogic.jar but this has to point to a file, not a folder. There is a "system path" in Windows, though I can't see how adding a path element for the weblogic lib folder can help (I tried it anyway, but still couldn't replicate your situation).

I'm clearly missing something here, so could you be precise in how I can replicate what you see when executing maven outside of MyEclipse? It would be helpful if you could set up a simple maven project (probably with a single simple java file for maven to compile) that constructs a classpath which includes weblogic.jar and all the jars from the manifest's classpath. Attach the project as a zip file. Also mention any environment set up that affects this.

I searched for a similar problem but the only hit I got had the answer of including all of the jars in weblogic.jar's manifest classpath entry as dependencies themselves, in the pom.

_________________
Tony
MyEclipse Support
 
 View user's profile Send private message  
Reply with quote Back to top
Display posts from previous:     
Jump to:  
All times are GMT - 6 Hours
Post new topic   Reply to topic
View previous topic Printable version Log in to check your private messages View next topic
Powered by PNphpBB2 © 2003-2004 The PNphpBB Group
Credits