> 4. Open a command shell, navigate to your project directory and run:
> mvn install eclipse:eclipse
The maven-eclipse-plugin plugin is deprecated. The project should be imported using the
Import>Maven>Existing Maven Projects m2eclipse action.
good point.
> 9. JBoss Tools 3.2 Issue:
> web.xml: All comments are stripped after project import, must restore original
web.xml from svn
> (not an issue with JBoss Tools 3.1).
This problem is related to webtools and is described in
https://jira.jboss.org/browse/JBIDE-6228.
The problem was also existing in JBoss Tools 3.1 when the JBoss Maven Seam Configurator
was included.
Do we ensure we don't touch the web.xml if we don't need to ? I would expect that
this maven project is already "seamified" ?
> 10. m2eclipse issues:
The version of JRE isn't important for EAR project because an EAR project doesn't
contain Java sources.
The problem related to application.xml is described in
https://jira.jboss.org/browse/JBIDE-4809
There is a patch for it.
Could we follow up with m2eclipse/Fred B. on these so we get this fixed in m2eclipse ?
> 11. JBoss Tools (or m2eclipse?) issue:
> The EAR module's src/application folder should be source folder.
Since EAR projects don't contain Java source files, that is unnecessary. JBoss Tools
doesn't configure Java capabilities for any project, so that is related to m2eclipse.
do they enable java on the ear project !?
> 12. JBoss Tools issue:
> Schema validation for some resource files fails due to use of Maven property
placeholders. The > target resource files should be correct, so they are the files that
should be validated.
This problem can be fixed in the following way:
- add the components.properties file to the classpath which contains all required maven
properties. In the component.xml file, those properties should be declared as
"@property_name@"
that would only work for the component.xml I reckon..?
"Duplicate component" errors are marked correctly because
there are several same components declared in ejb and war projects.
> 13. EAR Deployment assembly
> JBoss Tools 3.2 Issues:
> * seam-tutorial-ejb module has wrong naming: seam-tutorial-ejb.ejb. Should be
named
> seam-tutorial-ejb.jar
> * Resource files should be published from the EAR target folder due to filtering
of
> resource files and generating of application.xml and jboss.app.xml during the Maven
> generate-sources goal.
This issue is related to
https://jira.jboss.org/browse/JBIDE-4809. You can use the
bundleFileName element as a workaround. The problem is an m2eclipse problem.
looks like the .ejb issue is fixed in 0.10.1 ?
https://issues.sonatype.org/browse/MNGECLIPSE-2155
> 14. Web Deployment assembly
> JBoss Tools 3.2 Issue:
> Resource files should be published from WAR target folder due to filtering of
resource files
> during the Maven generate-sources goal.
The WTP configurator publishes war projects. It is part of m2eclipse. Anyway, resources
are published to WEB-INF/classes and exist in the classpath of the application which is
correct in my opinion. The messages_xx.properties files have to be in the classpath, for
instance.
But m2eclipse doesn't put them there (i.e. WebContent/WEB-INF/classes) does it ?
> 17. Publish
> JBoss Tools 3.2 Issue:
> Seam jar is published to a separate folder but should be published to ear root
folder.
This is a JBoss Tools AS deployer problem (
https://jira.jboss.org/browse/JBIDE-6596).
Attached is a patch.
Great! Could you apply it to M1 and trunk ? so we can get it tested ?
/max
Snjeza
Andersen Max wrote:
> hi,
>
> @leifoolsen posted this
http://www.glxn.net/seam-maven-refimpl/doc/tutorial/05-eclipse-3.6-worklo...
>
> this is him explaining how to use JBoss Tools + Maven on a seam project.
>
> The walkthrough illustrates how resource filtering in maven + the WTP assembly is
fighting against each other ;(
>
> it also shows that he also bumped into JBIDE-6596 with respect to
lib/jboss-seam.jar.
>
> Its an excellent read to see some of the problems we are facing....
>
> /max
> _______________________________________________
> jbosstools-dev mailing list
> jbosstools-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/jbosstools-dev
>
### Eclipse Workspace Patch 1.0
#P org.jboss.ide.eclipse.as.core
Index: jbosscore/org/jboss/ide/eclipse/as/core/publishers/PublishUtil.java
===================================================================
--- jbosscore/org/jboss/ide/eclipse/as/core/publishers/PublishUtil.java (revision 23095)
+++ jbosscore/org/jboss/ide/eclipse/as/core/publishers/PublishUtil.java (working copy)
@@ -22,6 +22,7 @@
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Status;
import org.eclipse.jst.server.core.IEnterpriseApplication;
+import org.eclipse.jst.server.core.IJ2EEModule;
import org.eclipse.wst.common.componentcore.ModuleCoreNature;
import org.eclipse.wst.server.core.IModule;
import org.eclipse.wst.server.core.internal.DeletedModule;
@@ -37,11 +38,11 @@
import org.jboss.ide.eclipse.as.core.server.IJBossServerConstants;
import org.jboss.ide.eclipse.as.core.server.xpl.ModulePackager;
import org.jboss.ide.eclipse.as.core.util.DeploymentPreferenceLoader;
-import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
-import org.jboss.ide.eclipse.as.core.util.IWTPConstants;
import
org.jboss.ide.eclipse.as.core.util.DeploymentPreferenceLoader.DeploymentModulePrefs;
import
org.jboss.ide.eclipse.as.core.util.DeploymentPreferenceLoader.DeploymentPreferences;
import
org.jboss.ide.eclipse.as.core.util.DeploymentPreferenceLoader.DeploymentTypePrefs;
+import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
+import org.jboss.ide.eclipse.as.core.util.IWTPConstants;
public class PublishUtil {
public static int countChanges(IModuleResourceDelta[] deltas) {
@@ -126,7 +127,11 @@
public static IPath getDeployPath(IModule[] moduleTree, String deployFolder) {
IPath root = new Path( deployFolder );
String type, modName, name, uri, suffixedName;
- for( int i = 0; i < moduleTree.length; i++ ) {
+ for( int i = 0; i < moduleTree.length; i++ ) {
+ IJ2EEModule j2eeModule = (IJ2EEModule) moduleTree[i].loadAdapter(IJ2EEModule.class,
null);
+ if (j2eeModule != null && j2eeModule.isBinary()) {
+ continue;
+ }
type = moduleTree[i].getModuleType().getId();
modName = moduleTree[i].getName();
name = new Path(modName).lastSegment();
Index: jbosscore/org/jboss/ide/eclipse/as/core/publishers/JstPublisher.java
===================================================================
--- jbosscore/org/jboss/ide/eclipse/as/core/publishers/JstPublisher.java (revision
23095)
+++ jbosscore/org/jboss/ide/eclipse/as/core/publishers/JstPublisher.java (working copy)
@@ -22,6 +22,7 @@
import org.eclipse.core.runtime.MultiStatus;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Status;
+import org.eclipse.jst.server.core.IJ2EEModule;
import org.eclipse.osgi.util.NLS;
import org.eclipse.wst.server.core.IModule;
import org.eclipse.wst.server.core.IServer;
@@ -107,8 +108,13 @@
IModuleResource[] members = getResources(module);
ArrayList<IStatus> list = new ArrayList<IStatus>();
+ IJ2EEModule j2eeModule = (IJ2EEModule) module.loadAdapter(IJ2EEModule.class, null);
+ boolean delete = true;
+ if (j2eeModule != null && j2eeModule.isBinary()) {
+ delete = false;
+ }
// if the module we're publishing is a project, not a binary, clean it's
folder
- if( !(new Path(module.getName()).segmentCount() > 1 ))
+ if( !(new Path(module.getName()).segmentCount() > 1 ) && delete)
list.addAll(Arrays.asList(localSafeDelete(deployPath)));
if( !deployPackaged(moduleTree) && !isBinaryObject(moduleTree)) {