The plugin has options for include/exclude for the client ejb, but the server ejb only has excludes. And unfortunately the way the module is designed I only want to include some of the files (the ejbs) in the ejb jar and not all the supporting/library files.
I tried refactoring out the ejb definitions into a separate package but there are just too many interdependencies to extract them easily without some significant recoding. Right now, the ejb is built by ant by selecting individual files in the packager. Thanks Eric On May 20, 2016 5:10 PM, "Fred Bricon" <[email protected]> wrote: > > 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 <[email protected]> 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 <[email protected]> >> 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 <[email protected]> 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 <[email protected] >>>> > 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 <[email protected]> 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 < >>>>>> [email protected]> 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 <[email protected]> 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 < >>>>>>>> [email protected]> 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 <[email protected]> >>>>>>>>> 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 <[email protected]>: >>>>>>>>>> >>>>>>>>>>> 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 < >>>>>>>>>>> [email protected]> 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 <[email protected]> >>>>>>>>>>>> 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 >>>>>>>>>>>>> [email protected] >>>>>>>>>>>>> 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 >>>>>>>>>>>> [email protected] >>>>>>>>>>>> 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 >>>>>>>>>>> [email protected] >>>>>>>>>>> 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 >>>>>>>>>> [email protected] >>>>>>>>>> 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 >>>>>>>>> [email protected] >>>>>>>>> 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 >>>>>>>> [email protected] >>>>>>>> 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 >>>>>>> [email protected] >>>>>>> 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 >>>>>> [email protected] >>>>>> 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 >>>>> [email protected] >>>>> 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 >>>> [email protected] >>>> 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 >>> [email protected] >>> 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 >> [email protected] >> 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 > [email protected] > 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 [email protected] To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/m2e-users
