http://maven.apache.org/plugins/maven-ejb-plugin/examples/generating-ejb-client.html
states it supports clientIncludes elements. See
http://maven.apache.org/plugins/maven-ejb-plugin/ejb-mojo.html#clientIncludes

On Fri, May 20, 2016 at 5:01 PM, Eric B <ebenza...@gmail.com> wrote:

> @Matthew - good call.  I started to modify my stuff in order to use the
> shade plugin, but then realized I was still in trouble.  I need to generate
> an EJB package and the only way I know how to do that with the EJB plugin
> is to point to .class files.  Which means that I need to unpack my lib to
> generate the EJB package and the client EJB.
>
> I would use the maven-ejb-plugin on the main lib package and append a
> classifier, but the problem is that there is no "include" in the ejb-plugin
> - only excludes.  Which means that I need to manually list every file that
> I don't want in that package, which is just too large and complicated.
> Instead, I was looking at using the dependenc-plugin to only unpack the
> files that I need for my EJB package.
>
> Unless you have any any suggestions to simplify that?
>
> Thanks,
>
> Eric
>
>
> On Thu, May 19, 2016 at 2:13 PM, Matthew Piggott <mpigg...@sonatype.com>
> wrote:
>
>> If all the common code (or all of it, if you want) is in a single library
>> you can also filter the contents w/ the shade plugin -
>> https://maven.apache.org/plugins/maven-shade-plugin/shade-mojo.html#filters
>>
>> The caveat with this approach is that Eclipse will not consider the
>> filtering, thus if the projects are in your workspaces then other projects
>> which depend on them will see classes which may be excluded in the final
>> build.
>>
>> On 19 May 2016 at 13:42, Eric B <ebenza...@gmail.com> wrote:
>>
>>> Apparently, you are right.  Unpack seems to only work in post-package
>>> phases, I guess due to the way that m2e assembles its build priorities.
>>>
>>> So, I'm back to the starting point.  The problem with the shade plugin
>>> is that I am trying to avoid refactoring classes into different packages,
>>> mostly because the code base is so fragmented that I'm entirely sure what
>>> gets broken when things get moved.  Right now, Ant selectively picks and
>>> chooses which files to compile/package from the module for each artifact.
>>>
>>> If I keep all the files in the same module, and then only extract the
>>> required files that I want, I can then repackage them using the jar plugin
>>> or the ejb-plugin and generate client ejbs based on the selected files
>>> (easy to accomplish via the unpack goal).
>>>
>>> However, like you just pointed out, unpack doesn't work well in Eclipse,
>>> so I'm a little back up the proverbial creek.  I don't see how the shade
>>> plugin will necessarily help out, unless I start refactoring files into
>>> separate packages, in which case I can imagine that I might want to augment
>>> a jar with files from a previously compiled jar.
>>>
>>> Unless I'm still looking at this upside down?
>>>
>>> Thanks,
>>>
>>> Eric
>>>
>>>
>>> On Wed, May 18, 2016 at 3:24 PM, Matthew Piggott <mpigg...@sonatype.com>
>>> wrote:
>>>
>>>> Unless something has changed unpack won't play nice in Eclipse.
>>>>
>>>> I don't think you're understanding what I suggested.
>>>>
>>>> On 18 May 2016 at 15:15, Eric B <ebenza...@gmail.com> wrote:
>>>>
>>>>> That's kind of what I am trying to do right now as well.  The only
>>>>> catch to that is that the full "library.jar" file contains extra classes
>>>>> that i don't want in it.
>>>>>
>>>>> So at the moment, my plan is to :
>>>>> a) Build library.jar with a classifier DO_NOT_CONSUME which contains
>>>>> all the classes.
>>>>> b) Use the dependency:unpack in the sub modules to selectively unpack
>>>>> the resources I want to have in each module and reassemble them 
>>>>> accordingly.
>>>>>
>>>>> It's a very ugly/clunky solution, and wish I had a better option.
>>>>>
>>>>> If you have any brilliant ideas how to improve, I'd love to hear them.
>>>>>
>>>>> Thanks,
>>>>> Eric
>>>>>
>>>>> On Wed, May 18, 2016 at 3:09 PM, Matthew Piggott <
>>>>> mpigg...@sonatype.com> wrote:
>>>>>
>>>>>> Have your common code ("library.jar") in one module.  Then have the
>>>>>> other modules (secured, unsecured, etc) declare it as a dependency, you 
>>>>>> can
>>>>>> use the maven shade plugin
>>>>>> <https://maven.apache.org/plugins/maven-shade-plugin/> to bundle the
>>>>>> dependencies into the jar.
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 18 May 2016 at 14:48, Eric B <ebenza...@gmail.com> wrote:
>>>>>>
>>>>>>> Hi Matthew,
>>>>>>>
>>>>>>> Can you please expand on your concept?  It is tickling something in
>>>>>>> the back of my mind but I just can't seem to grasp it precisely...
>>>>>>>
>>>>>>> Thanks,
>>>>>>>
>>>>>>> Eric
>>>>>>>
>>>>>>> On Wed, May 18, 2016 at 1:17 PM, Matthew Piggott <
>>>>>>> mpigg...@sonatype.com> wrote:
>>>>>>>
>>>>>>>> Have one module with the common code then create other modules
>>>>>>>> which shade in the common code dep.
>>>>>>>>
>>>>>>>> On 18 May 2016 at 12:48, Anton Tanasenko <atg.sleepl...@gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hi Eric,
>>>>>>>>> Every eclipse project must reside in its own dir, it doesn't allow
>>>>>>>>> mixing multiple projects in the same directory.
>>>>>>>>> Eclipse also doesn't allow storing any of its resources outside of
>>>>>>>>> their respective project's dir.
>>>>>>>>>
>>>>>>>>> So you should definitely convert your project into a proper
>>>>>>>>> multimodule build. There is no way your setup will work correctly in
>>>>>>>>> eclipse otherwise.
>>>>>>>>>
>>>>>>>>> 2016-05-18 19:09 GMT+03:00 Eric B <ebenza...@gmail.com>:
>>>>>>>>>
>>>>>>>>>> Sure - but the problem is that they all use the same sources.
>>>>>>>>>> And refactoring the code base into 4 separate modules is not really 
>>>>>>>>>> an
>>>>>>>>>> option.
>>>>>>>>>>
>>>>>>>>>> Right now I'm playing around with poms in subfolders that use :
>>>>>>>>>> <sourceDirectory>${basedir}/..</sourceDirectory>
>>>>>>>>>>
>>>>>>>>>> but that means I have to override all the defaults in the maven
>>>>>>>>>> pom, which is a royal nuissance.  And I'm not even convinced that all
>>>>>>>>>> plugins will work properly.
>>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>>
>>>>>>>>>> Eric
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Wed, May 18, 2016 at 11:51 AM, Jeff Jensen <jjen...@apache.org
>>>>>>>>>> > wrote:
>>>>>>>>>>
>>>>>>>>>>> Best is to move them to 4 separate modules/directory
>>>>>>>>>>> structures.  Then it will work without issues.
>>>>>>>>>>>
>>>>>>>>>>> On Wed, May 18, 2016 at 10:36 AM, Eric B <ebenza...@gmail.com>
>>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi,
>>>>>>>>>>>>
>>>>>>>>>>>> I am migrating a legacy app to maven and am having miserable
>>>>>>>>>>>> time with one module in particular.  The way the Ant script worked 
>>>>>>>>>>>> is that
>>>>>>>>>>>> it built 3 or 4 artifacts from the same code base.
>>>>>>>>>>>>  - secure-EJB.jar (some subset of classes)
>>>>>>>>>>>>  - secure-EJB-client.jar (client EJB)
>>>>>>>>>>>>  - unsecure-EJB.jar (another subset of classes)
>>>>>>>>>>>>  - library.jar (regular java library with the bulk of classes,
>>>>>>>>>>>> apart from the EJB beans/facades)
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> At first I tried to get Maven to build everything via a single
>>>>>>>>>>>> pom, but that was just a recipe for disaster (and broke just about 
>>>>>>>>>>>> every
>>>>>>>>>>>> maven convention I know), so I abandoned the concept altogether.
>>>>>>>>>>>>
>>>>>>>>>>>> Instead, I ended up with 4 poms - each building to a separate
>>>>>>>>>>>> target/ folder:
>>>>>>>>>>>> - pom.xml (parent pom, defines all the dependencies required
>>>>>>>>>>>> for the build, and includes the 3 next poms as modules)
>>>>>>>>>>>> - pom-ejb-secure.xml (inherits pom.xml)
>>>>>>>>>>>> - pom-ejb-unsecure.xml (inherits pom.xml)
>>>>>>>>>>>> - pom-jar.xml (inherits pom.xml)
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> pom.xml (snippet):
>>>>>>>>>>>>
>>>>>>>>>>>> <modelVersion>4.0.0</modelVersion>
>>>>>>>>>>>> <artifactId>ejb-pom</artifactId>
>>>>>>>>>>>>         <groupId>org.myc</groupId>
>>>>>>>>>>>> <packaging>pom</packaging>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> <modules>
>>>>>>>>>>>> <module>pom-securedEjb.xml</module>
>>>>>>>>>>>> <module>pom-unsecuredEjb.xml</module>
>>>>>>>>>>>> <module>pom-jar.xml</module>
>>>>>>>>>>>> </modules>
>>>>>>>>>>>>
>>>>>>>>>>>> <properties>
>>>>>>>>>>>> <skipTests>true</skipTests>
>>>>>>>>>>>> </properties>
>>>>>>>>>>>>          ...
>>>>>>>>>>>>          ...
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> From a command line build (ex: mvn clean deploy), everything
>>>>>>>>>>>> works properly, and as expected.  All artifacts are independently 
>>>>>>>>>>>> built and
>>>>>>>>>>>> deployed, at the cost of recompiling the classes for each pom.
>>>>>>>>>>>>
>>>>>>>>>>>> However, I have no idea how to load/configure this in
>>>>>>>>>>>> Eclipse/m2e such that it sees the different artifacts produced, 
>>>>>>>>>>>> and more
>>>>>>>>>>>> importantly is able to resolve against them when referenced in 
>>>>>>>>>>>> other open
>>>>>>>>>>>> projects (Enable Workspace Resolution).
>>>>>>>>>>>>
>>>>>>>>>>>> When I import the maven project, it just "loads" the parent
>>>>>>>>>>>> pom.xml and does not recognize that there are modules that need to 
>>>>>>>>>>>> be
>>>>>>>>>>>> loaded/resolved as well.
>>>>>>>>>>>>
>>>>>>>>>>>> Is there anything I can do about this?
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>
>>>>>>>>>>>> Eric
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> m2e-users mailing list
>>>>>>>>>>>> m2e-users@eclipse.org
>>>>>>>>>>>> To change your delivery options, retrieve your password, or
>>>>>>>>>>>> unsubscribe from this list, visit
>>>>>>>>>>>> https://dev.eclipse.org/mailman/listinfo/m2e-users
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> m2e-users mailing list
>>>>>>>>>>> m2e-users@eclipse.org
>>>>>>>>>>> To change your delivery options, retrieve your password, or
>>>>>>>>>>> unsubscribe from this list, visit
>>>>>>>>>>> https://dev.eclipse.org/mailman/listinfo/m2e-users
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> m2e-users mailing list
>>>>>>>>>> m2e-users@eclipse.org
>>>>>>>>>> To change your delivery options, retrieve your password, or
>>>>>>>>>> unsubscribe from this list, visit
>>>>>>>>>> https://dev.eclipse.org/mailman/listinfo/m2e-users
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Regards,
>>>>>>>>> Anton.
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> m2e-users mailing list
>>>>>>>>> m2e-users@eclipse.org
>>>>>>>>> To change your delivery options, retrieve your password, or
>>>>>>>>> unsubscribe from this list, visit
>>>>>>>>> https://dev.eclipse.org/mailman/listinfo/m2e-users
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> m2e-users mailing list
>>>>>>>> m2e-users@eclipse.org
>>>>>>>> To change your delivery options, retrieve your password, or
>>>>>>>> unsubscribe from this list, visit
>>>>>>>> https://dev.eclipse.org/mailman/listinfo/m2e-users
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> m2e-users mailing list
>>>>>>> m2e-users@eclipse.org
>>>>>>> To change your delivery options, retrieve your password, or
>>>>>>> unsubscribe from this list, visit
>>>>>>> https://dev.eclipse.org/mailman/listinfo/m2e-users
>>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> m2e-users mailing list
>>>>>> m2e-users@eclipse.org
>>>>>> To change your delivery options, retrieve your password, or
>>>>>> unsubscribe from this list, visit
>>>>>> https://dev.eclipse.org/mailman/listinfo/m2e-users
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> m2e-users mailing list
>>>>> m2e-users@eclipse.org
>>>>> To change your delivery options, retrieve your password, or
>>>>> unsubscribe from this list, visit
>>>>> https://dev.eclipse.org/mailman/listinfo/m2e-users
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> m2e-users mailing list
>>>> m2e-users@eclipse.org
>>>> To change your delivery options, retrieve your password, or unsubscribe
>>>> from this list, visit
>>>> https://dev.eclipse.org/mailman/listinfo/m2e-users
>>>>
>>>
>>>
>>> _______________________________________________
>>> m2e-users mailing list
>>> m2e-users@eclipse.org
>>> To change your delivery options, retrieve your password, or unsubscribe
>>> from this list, visit
>>> https://dev.eclipse.org/mailman/listinfo/m2e-users
>>>
>>
>>
>> _______________________________________________
>> m2e-users mailing list
>> m2e-users@eclipse.org
>> To change your delivery options, retrieve your password, or unsubscribe
>> from this list, visit
>> https://dev.eclipse.org/mailman/listinfo/m2e-users
>>
>
>
> _______________________________________________
> m2e-users mailing list
> m2e-users@eclipse.org
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/m2e-users
>



-- 
"Have you tried turning it off and on again" - The IT Crowd
And if that fails, then http://goo.gl/tnBgH5
_______________________________________________
m2e-users mailing list
m2e-users@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/m2e-users

Reply via email to