Well this kinda works...
I made another project as a sibling, moved the assembly stuff from the
parent pom into the new project.  but now when I run mvn package I get the
following:

[INFO] Building OC4J_TNM_BE_package
[INFO]
------------------------------------------------------------------------
[WARNING] Removing: assembly from forked lifecycle, to prevent recursive
invocation.
[INFO] [site:attach-descriptor {execution: default-attach-descriptor}]
[INFO] [assembly:assembly {execution: Make-OC4JDistribution}]
[INFO] Reading assembly descriptor: src/assemble/OC4JDistribution.xml
[WARNING] The following patterns were never triggered in this artifact
inclusion filter:
o  'myCompany:OC4J_TNM_BE.rar'
o  'myCompany:OC4J_TNM_BE.ear'
[WARNING] The following patterns were never triggered in this artifact
inclusion filter:
o  'myCompany:OC4J_TNM_BE.rar'
o  'myCompany:OC4J_TNM_BE.ear'
[WARNING] NOTE: Currently, inclusion of module dependencies may produce
unpredictable results if a version conflict occurs.
[INFO] Copying files to C:\Documents and
Settings\xxxx\OC4J_TNM_BE\OC4J_TNM_BE_package\target\dev
[WARNING] Assembly file: C:\Documents and
Settings\xxxx\OC4J_TNM_BE\OC4J_TNM_BE_package\target\dev is not a regular
file (it may be a directory). It cannot be attached to the project build for
installation or deployment.

It looks like the assembly is being called twice.  anyone know why that is?
but more importandly -- why cant it find my modules?

I just want the ear and rar binaries to be included in the assembly.  I
tried the built-in descriptorRef 'bin'  but that gave an error saying it
cant find anything because its only looking for jar files.



On Mon, Sep 20, 2010 at 1:19 PM, Jon Paynter <[email protected]> wrote:

> Actually the top pom i posted is in the 2nd level of my project hierarchy
> that ive created.  The other modules generate normal jar files.  Its the
> OC4J components that were giving me greif so I isolated that one.
>
> so to move the assembly to its own module - that would mean something like
> this:
>   <modules>
>     <module>OC4J_TNM_BE.war</module>
>     <module>OC4J_TNM_BE.ear</module>
>     <module>OC4J_TNM_BE.rar</module>
>     <module>OC4J_TNM_BE_package</module>
>   </modules>
>
> Where the package module would depend on the ear, war and rar modules.  Or
> do I put the packager module in a different spot in the directory tree?
>
> Also - what do i need to look out for when setting up this pattern to
> handle 20+ OC4J components?
>
> On Mon, Sep 20, 2010 at 11:54 AM, Anders Hammar <[email protected]> wrote:
>
>> The solution is to put the assembly in a separate module. This is best
>> practice.
>> I guess your "top pom" (the aggregator pom) is the parent pom as well,
>> right? In that case, it has to be built first and that would make the
>> assembly plugin run before any module has been built. This should be easy
>> to
>> spot in the console output.
>>
>> This problem has been discussed at least twice over the last month.
>> Clearly
>> there is a need to stress this FAQ entry:
>>
>> http://maven.apache.org/plugins/maven-assembly-plugin/faq.html#module-binaries
>>
>> /Anders
>>
>> On Mon, Sep 20, 2010 at 20:26, Jon Paynter <[email protected]> wrote:
>>
>> > Thanks for the reply --
>> >
>> > My local repo is empty -- this case by design.  when building a clean
>> (or
>> > new) version, the assembly should take the file thats recently changed,
>> and
>> > not an older version sitting in the repository.
>> >
>> > I put the revelant (I think) files here:
>> > http://gist.github.com/588355
>> >
>> > If that doesnt work, let me know and i'll just post them in this email
>> > thread.
>> > The end goal is to somewhat duplicate our existing ant build where all
>> > revalant files are copied to a folder named Release/${envType}/  and the
>> > appropiate structure created.
>> > The assembly xml file I posted puts all the files for a single OC4J
>> > component into the proper directories, so that part works okay.
>> >
>> > And again -- if theres a better way to accomplish what im trying to do,
>> let
>> > me know.  Im very new to maven.
>> >
>> > Thanks,
>> > Jon.
>> >
>> > On Mon, Sep 20, 2010 at 11:01 AM, Nayan Hajratwala <[email protected]>
>> > wrote:
>> >
>> > > Have you looked in your local maven repo to see if the artifact is
>> where
>> > > you think it is? According to this output, your war file should exist
>> in:
>> > >
>> > >
>> >  <home>/.m2/repository/myCompany/OC4J_TNM_BE/1.0/OC4J_TNM_BE-1.0.war
>> > >
>> > > However, as stephane noted, you should probably be building
>> 1.0-SNAPSHOT,
>> > > not 1.0..
>> > >
>> > > Can you post your whole pom? It would probably make it much quicker to
>> > > detect the problem. An easy place to share stuff like this is:
>> > > http://gist.github.com/
>> > >
>> > > ---
>> > > Nayan Hajratwala
>> > > http://agileshrugged.com
>> > > http://twitter.com/nhajratw
>> > > 734.658.6032
>> > >
>> > > On Sep 20, 2010, at 1:03 PM, Jon Paynter wrote:
>> > >
>> > > > After posting, I kept investigating on my side and the problem seems
>> to
>> > > be
>> > > > in the assembly plugin.. not the ear plugin.  I have the following
>> > > section
>> > > > in my top level pom:
>> > > >
>> > > >  <build>
>> > > >    <plugins>
>> > > >      <plugin>
>> > > >        <artifactId>maven-assembly-plugin</artifactId>
>> > > >        <inherited>false</inherited>
>> > > >        <configuration>
>> > > >          <ignoreDirFormatExtensions>true</ignoreDirFormatExtensions>
>> > > >          <appendAssemblyId>false</appendAssemblyId>
>> > > >          <finalName>${envType}</finalName>
>> > > >          <descriptors>
>> > > >
>>  <descriptor>src/assemble/OC4JDistribution.xml</descriptor>
>> > > >          </descriptors>
>> > > >        </configuration>
>> > > > <!--
>> > > >        <executions>
>> > > >          <execution>
>> > > >            <id>Make-OC4JDistribution</id>
>> > > >            <phase>package</phase>
>> > > >            <goals>
>> > > >              <goal>assembly</goal>
>> > > >            </goals>
>> > > >          </execution>
>> > > >        </executions>
>> > > > -->
>> > > >      </plugin>
>> > > >    </plugins>
>> > > >  </build>
>> > > > With the executions commented out, all builds fine.  but when I run
>> mvn
>> > > > assembly:assembly or uncomment the execution, then I get the
>> previous
>> > > error
>> > > > if running maven 3.1, or the following if im running 2.2.1:
>> > > >
>> > > > C:\Documents and Settings\xxxx\OC4J_TNM_BE>mvn assembly:assembly
>> > > > [INFO] Scanning for projects...
>> > > > [INFO] Reactor build order:
>> > > > [INFO]   OC4J_TNM_BE
>> > > > [INFO]   OC4C_TNM_BE war
>> > > > [INFO]   OC4C_TNM_BE ear
>> > > > [INFO]   OC4C_TNM_BE rar
>> > > > [INFO]
>> > > >
>> > ------------------------------------------------------------------------
>> > > > [INFO] Building OC4J_TNM_BE
>> > > > [INFO]    task-segment: [assembly:assembly] (aggregator-style)
>> > > > [INFO]
>> > > >
>> > ------------------------------------------------------------------------
>> > > > [INFO] Preparing assembly:assembly
>> > > > [INFO]
>> > > >
>> > ------------------------------------------------------------------------
>> > > > [INFO] Building OC4J_TNM_BE
>> > > > [INFO]
>> > > >
>> > ------------------------------------------------------------------------
>> > > > [INFO] [site:attach-descriptor {execution:
>> default-attach-descriptor}]
>> > > > [INFO]
>> > > >
>> > ------------------------------------------------------------------------
>> > > > [INFO] Building OC4C_TNM_BE war
>> > > > [INFO]
>> > > >
>> > ------------------------------------------------------------------------
>> > > > [INFO] [resources:resources {execution: default-resources}]
>> > > > [INFO] Using 'UTF-8' encoding to copy filtered resources.
>> > > > [INFO] Copying 0 resource
>> > > > [INFO] [compiler:compile {execution: default-compile}]
>> > > > [INFO] No sources to compile
>> > > > [INFO] [resources:testResources {execution: default-testResources}]
>> > > > [INFO] Using 'UTF-8' encoding to copy filtered resources.
>> > > > [INFO] Copying 0 resource
>> > > > [INFO] [compiler:testCompile {execution: default-testCompile}]
>> > > > [INFO] No sources to compile
>> > > > [INFO] [surefire:test {execution: default-test}]
>> > > > [INFO] Surefire report directory: C:\Documents and
>> > > > Settings\xxxx\OC4J_TNM_BE\OC4J_TNM_BE.war\target\surefire-reports
>> > > > -------------------------------------------------------
>> > > > T E S T S
>> > > > -------------------------------------------------------
>> > > > There are no tests to run.
>> > > > Results :
>> > > > Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
>> > > > [INFO] [war:war {execution: default-war}]
>> > > > [INFO] Packaging webapp
>> > > > [INFO] Assembling webapp [OC4J_TNM_BE.war] in [C:\Documents and
>> > > > Settings\xxxx\OC4J_TNM_BE\OC4J_TNM_BE.war\target\OC4C_TNM_BEWeb
>> > > > [INFO] Processing war project
>> > > > [INFO] Copying webapp webResources [C:\Documents and
>> > > > Settings\xxxx\OC4J_TNM_BE\OC4J_TNM_BE.war/src/main/webapp/WEB-INF]
>> to
>> > > [C:\
>> > > > cuments and
>> > > Settings\xxxx\OC4J_TNM_BE\OC4J_TNM_BE.war\target\OC4C_TNM_BEWeb]
>> > > > [INFO] Copying webapp resources [C:\Documents and
>> > > > Settings\xxxx\OC4J_TNM_BE\OC4J_TNM_BE.war\src\main\webapp]
>> > > > [INFO] Webapp assembled in [500 msecs]
>> > > > [INFO] Building war: C:\Documents and
>> > > > Settings\xxxx\OC4J_TNM_BE\OC4J_TNM_BE.war\target\OC4C_TNM_BEWeb.war
>> > > > [INFO]
>> > > >
>> > ------------------------------------------------------------------------
>> > > > [INFO] Building OC4C_TNM_BE ear
>> > > > [INFO]
>> > > >
>> > ------------------------------------------------------------------------
>> > > > Downloading:
>> > > >
>> > >
>> >
>> http://repo1.maven.org/maven2/myCompany/OC4J_TNM_BE.war/1.0/OC4J_TNM_BE.war-1.0.war
>> > > > [INFO] Unable to find resource 'myCompany:OC4J_TNM_BE.war:war:1.0'
>> in
>> > > > repository central (http://repo1.maven.org/maven2)
>> > > > [INFO]
>> > > >
>> > ------------------------------------------------------------------------
>> > > > [ERROR] BUILD ERROR
>> > > > [INFO]
>> > > >
>> > ------------------------------------------------------------------------
>> > > > [INFO] Failed to resolve artifact.
>> > > > Missing:
>> > > > ----------
>> > > > 1) myCompany:OC4J_TNM_BE.war:war:1.0
>> > > >  Try downloading the file manually from the project website.
>> > > >  Then, install it using the command:
>> > > >      mvn install:install-file -DgroupId=myCompany
>> > > > -DartifactId=OC4J_TNM_BE.war -Dversion=1.0 -Dpackaging=war
>> > > > -Dfile=/path/to/file
>> > > >  Alternatively, if you host your own repository you can deploy the
>> file
>> > > > there:
>> > > >      mvn deploy:deploy-file -DgroupId=myCompany
>> > > > -DartifactId=OC4J_TNM_BE.war -Dversion=1.0 -Dpackaging=war
>> > > > -Dfile=/path/to/file -Dur
>> > > > [url] -DrepositoryId=[id]
>> > > >  Path to dependency:
>> > > >        1) myCompany:OC4J_TNM_BE.ear:ear:1.0
>> > > >        2) myCompany:OC4J_TNM_BE.war:war:1.0
>> > > > ----------
>> > > > 1 required artifact is missing.
>> > > > for artifact:
>> > > >  myCompany:OC4J_TNM_BE.ear:ear:1.0
>> > > > from the specified remote repositories:
>> > > >  central (http://repo1.maven.org/maven2)
>> > > >
>> > > > [INFO]
>> > > >
>> > ------------------------------------------------------------------------
>> > > > [INFO] For more information, run Maven with the -e switch
>> > > > [INFO]
>> > > >
>> > ------------------------------------------------------------------------
>> > > > [INFO] Total time: 47 seconds
>> > > > [INFO] Finished at: Mon Sep 20 10:00:18 PDT 2010
>> > > > [INFO] Final Memory: 17M/254M
>> > > > [INFO]
>> > > >
>> > ------------------------------------------------------------------------
>> > > > C:\Documents and Settings\xxxx\OC4J_TNM_BE>
>> > > >
>> > > >
>> > > > On Sat, Sep 18, 2010 at 7:25 AM, Stephane Nicoll
>> > > > <[email protected]>wrote:
>> > > >
>> > > >> It should work but your project's version should be something like
>> > > >> 1.0-SNAPSHOT, not 1.0.
>> > > >>
>> > > >> That being said, it could be a thing as simple as a typo so posting
>> > your
>> > > >> project somewhere would help.
>> > > >>
>> > > >> S.
>> > > >>
>> > > >> On Fri, Sep 17, 2010 at 11:46 PM, Jon Paynter <[email protected]>
>> > > wrote:
>> > > >>
>> > > >>> Hi -- ive been tasked with looking to see if maven will work to
>> > replace
>> > > >> our
>> > > >>> current ant build.
>> > > >>>
>> > > >>> Since our company makes extensive use of j2ee and OC4J components,
>> > that
>> > > >> was
>> > > >>> one of the first thigns I tackled after getting some basic modules
>> to
>> > > >>> compile.
>> > > >>>
>> > > >>> In keeping with our existing ant build structure I setup the
>> > following
>> > > >> tree
>> > > >>> structure:
>> > > >>> OC4J pom.xml
>> > > >>> |
>> > > >>> |--- OC4J.ear
>> > > >>> |
>> > > >>> |--- OC4J.rar
>> > > >>> |
>> > > >>> |--- OC4J.war
>> > > >>>
>> > > >>> The ear is setup with a dependancy on the war file.
>> > > >>> If goto the top level folder and run:  mvn compile -- all is fine.
>> no
>> > > >>> errors.
>> > > >>>
>> > > >>> but when I goto the top level folder and run:  mvn package
>> > > >>> I get an error when building the ear file saying it cant find the
>> war
>> > > >> file:
>> > > >>>
>> > > >>> [ERROR] Failed to execute goal on project OC4J.ear: Could not
>> resolve
>> > > >>> dependencies for project cdrive:OC4J.ear:ear:1.0: The following
>> > > artifacts
>> > > >>> could not be resolved: cdrive:OC4J.war:war:1.0: Failure to find
>> > > >>> cdrive:OC4J.war:war:1.0 in http://repo1.maven.org/maven2 was
>> cached
>> > in
>> > > >> the
>> > > >>> local repository. Resolution will not be reattempted until the
>> update
>> > > >>> interval of central has elapsed or updates are forced. -> [Help 1]
>> > > >>>
>> > > >>>
>> > > >>> I started this endevor using maven 2.2.1 but I had the same
>> problems
>> > > with
>> > > >>> ear generation.  searching led me to a post back from 2007 where
>> > > somebody
>> > > >>> had the exact same problem, but there was no resolution posted.  I
>> > was
>> > > >>> hoping maven 3.0 would fix the issue, but it just gives different
>> > error
>> > > >>> messages.
>> > > >>>
>> > > >>>
>> > > >>> So my questions are as follows:
>> > > >>>
>> > > >>> 1) Is there a better way to do this?  -- if so it needs to scale
>> > well,
>> > > >> the
>> > > >>> project has about 20 OC4J components.
>> > > >>> 2) if not, how do I fix the dependancies so this will work?
>> > > >>> 3) if neither... will this be fixed in maven 3.0?
>> > > >>>
>> > > >>
>> > >
>> > >
>> > > ---------------------------------------------------------------------
>> > > To unsubscribe, e-mail: [email protected]
>> > > For additional commands, e-mail: [email protected]
>> > >
>> > >
>> >
>>
>
>

Reply via email to