[jbosstools-dev] Good example of what works and what doesn't in JBoss Tools

Snjezana Peco snjeza.peco at gmail.com
Fri Jul 16 18:02:24 EDT 2010


Hi,


Attached is a patch that works correctly for WAR and EAR projects.


Andersen Max wrote:
>   
>>> 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" ?
>
>   

The JBoss Maven Seam Configuraator doesn't change web.xml, but adds Seam facet that changes web.xml. See https://jira.jboss.org/browse/JBIDE-6228?focusedCommentId=12529695&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_12529695


>>> 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 ?
>   

Fred B. knows about this problem. I suppose that Java was added because the Maven classpath conatainer was necessary to deploy libraries.



>>> 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 !?
>
>   

A non-mavenized JBoss Seam EAR project has the Java nature/builder. Seam facet enables it.


>>> 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..?
>
>   

The components.xml file is the only file that contains errors.


>> "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
>   

Will check.


>>> 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 ?
>   

It does, m2eclipse puts them to WebContent/WEB-INF/classes

Snjeza


> /max
>   
>> Snjeza
>>
>> Andersen Max wrote:
>>     
>>> hi,
>>>
>>> @leifoolsen posted this http://www.glxn.net/seam-maven-refimpl/doc/tutorial/05-eclipse-3.6-worklog.html
>>>
>>> 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 at 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)) {
>>     
>
>   

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: JBIDE-6596a.patch
Url: http://lists.jboss.org/pipermail/jbosstools-dev/attachments/20100717/d11a0105/attachment.pl 


More information about the jbosstools-dev mailing list