Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

AEM eclipse plugin

Avatar

Level 4

Did anyone have any problems with using the latest AEM plugin for eclipse released by Adobe?

I recently downloaded the eclipse plugin for AEM and tried to get it running with a sample project on my local AEM 6.0 instance.

I created a sample project called example following the instructions on http://docs.adobe.com/docs/en/dev-tools/aem-eclipse.html

As soon as the new project was created, I was able to see the below error in the Sling console log in eclipse,

[July 31, 2014 4:25:52 PM IST] AddOrUpdateNodeCommand -> /apps/example/tests : JcrResult[ success:false, exception: org.apache.sling.ide.transport.RepositoryException - javax.jcr.nodetype.ConstraintViolationException: no matching property definition found for {}dependencies] (20 ms)
org.apache.sling.ide.transport.RepositoryException: javax.jcr.nodetype.ConstraintViolationException: no matching property definition found for {}dependencies
    at org.apache.sling.ide.impl.vlt.JcrResult.failure(JcrResult.java:33)
    at org.apache.sling.ide.impl.vlt.JcrCommand.execute(JcrCommand.java:65)
    at org.apache.sling.ide.transport.TracingCommand.execute(TracingCommand.java:43)
    at org.apache.sling.ide.eclipse.core.internal.SlingLaunchpadBehaviour.execute(SlingLaunchpadBehaviour.java:455)
    at org.apache.sling.ide.eclipse.core.internal.SlingLaunchpadBehaviour.publishContentModule(SlingLaunchpadBehaviour.java:428)
    at org.apache.sling.ide.eclipse.core.internal.SlingLaunchpadBehaviour.publishModule(SlingLaunchpadBehaviour.java:231)
    at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publishModule(ServerBehaviourDelegate.java:1091)
    at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publishModules(ServerBehaviourDelegate.java:1183)
    at org.apache.sling.ide.eclipse.core.internal.ServerBehaviourDelegateWithModulePublishSupport.publish(ServerBehaviourDelegateWithModulePublishSupport.java:137)
    at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publish(ServerBehaviourDelegate.java:774)
    at org.apache.sling.ide.eclipse.core.internal.ServerBehaviourDelegateWithModulePublishSupport.publish(ServerBehaviourDelegateWithModulePublishSupport.java:54)
    at org.eclipse.wst.server.core.internal.Server.publishImpl(Server.java:3154)
    at org.eclipse.wst.server.core.internal.Server$PublishJob.run(Server.java:345)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Caused by: javax.jcr.nodetype.ConstraintViolationException: no matching property definition found for {}dependencies
    at org.apache.jackrabbit.jcr2spi.nodetype.ItemDefinitionProviderImpl.getQPropertyDefinition(ItemDefinitionProviderImpl.java:233)
    at org.apache.jackrabbit.jcr2spi.nodetype.ItemDefinitionProviderImpl.getQPropertyDefinition(ItemDefinitionProviderImpl.java:126)
    at org.apache.jackrabbit.jcr2spi.NodeImpl.getApplicablePropertyDefinition(NodeImpl.java:1831)
    at org.apache.jackrabbit.jcr2spi.NodeImpl.createProperty(NodeImpl.java:1518)
    at org.apache.jackrabbit.jcr2spi.NodeImpl.setProperty(NodeImpl.java:252)
    at org.apache.jackrabbit.jcr2spi.NodeImpl.setProperty(NodeImpl.java:232)
    at org.apache.sling.ide.impl.vlt.AddOrUpdateNodeCommand.updateNode(AddOrUpdateNodeCommand.java:299)
    at org.apache.sling.ide.impl.vlt.AddOrUpdateNodeCommand.update(AddOrUpdateNodeCommand.java:99)
    at org.apache.sling.ide.impl.vlt.AddOrUpdateNodeCommand.execute0(AddOrUpdateNodeCommand.java:80)
    at org.apache.sling.ide.impl.vlt.AddOrUpdateNodeCommand.execute0(AddOrUpdateNodeCommand.java:1)
    at org.apache.sling.ide.impl.vlt.JcrCommand.execute(JcrCommand.java:57)
    ... 12 more

and

[July 31, 2014 4:18:59 PM IST] AddOrUpdateNodeCommand -> /content/example : JcrResult[ success:false, exception: org.apache.sling.ide.transport.RepositoryException - javax.jcr.nodetype.ConstraintViolationException: no matching child node definition found for {http://www.jcp.org/jcr/1.0}content] (23 ms)
org.apache.sling.ide.transport.RepositoryException: javax.jcr.nodetype.ConstraintViolationException: no matching child node definition found for {http://www.jcp.org/jcr/1.0}content
    at org.apache.sling.ide.impl.vlt.JcrResult.failure(JcrResult.java:33)
    at org.apache.sling.ide.impl.vlt.JcrCommand.execute(JcrCommand.java:65)
    at org.apache.sling.ide.transport.TracingCommand.execute(TracingCommand.java:43)
    at org.apache.sling.ide.eclipse.core.internal.SlingLaunchpadBehaviour.execute(SlingLaunchpadBehaviour.java:455)
    at org.apache.sling.ide.eclipse.core.internal.SlingLaunchpadBehaviour.publishContentModule(SlingLaunchpadBehaviour.java:428)
    at org.apache.sling.ide.eclipse.core.internal.SlingLaunchpadBehaviour.publishModule(SlingLaunchpadBehaviour.java:231)
    at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publishModule(ServerBehaviourDelegate.java:1091)
    at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publishModules(ServerBehaviourDelegate.java:1183)
    at org.apache.sling.ide.eclipse.core.internal.ServerBehaviourDelegateWithModulePublishSupport.publish(ServerBehaviourDelegateWithModulePublishSupport.java:137)
    at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publish(ServerBehaviourDelegate.java:774)
    at org.apache.sling.ide.eclipse.core.internal.ServerBehaviourDelegateWithModulePublishSupport.publish(ServerBehaviourDelegateWithModulePublishSupport.java:54)
    at org.eclipse.wst.server.core.internal.Server.publishImpl(Server.java:3154)
    at org.eclipse.wst.server.core.internal.Server$PublishJob.run(Server.java:345)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
Caused by: javax.jcr.nodetype.ConstraintViolationException: no matching child node definition found for {http://www.jcp.org/jcr/1.0}content
    at org.apache.jackrabbit.jcr2spi.nodetype.ItemDefinitionProviderImpl.getQNodeDefinition(ItemDefinitionProviderImpl.java:201)
    at org.apache.jackrabbit.jcr2spi.nodetype.ItemDefinitionProviderImpl.getQNodeDefinition(ItemDefinitionProviderImpl.java:90)
    at org.apache.jackrabbit.jcr2spi.NodeImpl.createNode(NodeImpl.java:1446)
    at org.apache.jackrabbit.jcr2spi.NodeImpl.addNode(NodeImpl.java:186)
    at org.apache.sling.ide.impl.vlt.AddOrUpdateNodeCommand.createNode(AddOrUpdateNodeCommand.java:170)
    at org.apache.sling.ide.impl.vlt.AddOrUpdateNodeCommand.update(AddOrUpdateNodeCommand.java:95)
    at org.apache.sling.ide.impl.vlt.AddOrUpdateNodeCommand.update(AddOrUpdateNodeCommand.java:103)
    at org.apache.sling.ide.impl.vlt.AddOrUpdateNodeCommand.execute0(AddOrUpdateNodeCommand.java:80)
    at org.apache.sling.ide.impl.vlt.AddOrUpdateNodeCommand.execute0(AddOrUpdateNodeCommand.java:1)
    at org.apache.sling.ide.impl.vlt.JcrCommand.execute(JcrCommand.java:57)
    ... 12 more

Whenever I try to import / export the content from the repository path to the local AEM instance crx repository (or replublish the assets on the server instance), I get the same error captured in the eclipse Error Log view

Failed publishing path=/content/example, result=JcrResult[ success:false, exception: org.apache.sling.ide.transport.RepositoryException - javax.jcr.nodetype.ConstraintViolationException: no matching child node definition found for {http://www.jcp.org/jcr/1.0}content]

Failed publishing path=/apps/example/tests, result=JcrResult[ success:false, exception: org.apache.sling.ide.transport.RepositoryException - javax.jcr.nodetype.ConstraintViolationException: no matching property definition found for {}dependencies]

 

Clearly, the issue is with those files (mostly of the type js, css, jpg) that are of the type nt:file but have no jcr:content node below them. But since the entire project structure has been created using the maven archtype that comes built in with the plugin, I think that this is an issue with the plugin itself.

I would like to know if anyone else out there is facing the same issue? If you have any suggestion on how to resolve this; please help.

1 Accepted Solution

Avatar

Correct answer by
Level 4

If the sample multi module project setup goes on as per plan (read without error) then you should see the AEM server instance created and available in the Servers tab in the AEM perspective.

If for some reason the server instance is not created but your projects are, you can navigate to the Servers tab --> Right click --> New --> Server --> Adobe --> Adobe Experience Manager --> Enter the server instance values --> Click Next and Add your appropriate modules to the server instance --> Finish

Now double click on the server instance just created and then configure the values such as port number, debug port etc. --> Save the configuration and you are good to go!

View solution in original post

16 Replies

Avatar

Level 2

Faced the same issue with the auto deploy. Seeing as this was released yesterday, a couple of bumps. Using the command line maven package install, the package installed successfully.

Avatar

Former Community Member

@Rayn    

 

Two ponts I would like to ask about new plug in

1) will JSP code assit will automatically work withou adding additional compile plugin in maven poms

2) will this plug in avoid the usage of vlt tool

Avatar

Level 2

I am but a user of this tool.. 

@1   haven't tried it

@2  -- Once you have a project installed on your localhost, you can use "Import from Server' to sync your project with any changes made to the AEM instance.  ... new content notes, etc.    "Export to Server" not quite working. 

Avatar

Former Community Member

@Rayn    

Will this plug in creates any server on the eclipse console ? I am not able to see any servers listed in eclipse server view after giving neccessary details in "setup new server wizard" while creating project using aem eclipse plugin..

Avatar

Former Community Member

@Rayn    

Also update me if you have any information to get JSP code completion in eclipse with out using this plug in ..thanks in advance :)smiley

Avatar

Level 2

Make sure you are in the AEM Perspective.  The servers tab has my configured AEM.

 

 [img]Capture.PNG[/img]

Avatar

Correct answer by
Level 4

If the sample multi module project setup goes on as per plan (read without error) then you should see the AEM server instance created and available in the Servers tab in the AEM perspective.

If for some reason the server instance is not created but your projects are, you can navigate to the Servers tab --> Right click --> New --> Server --> Adobe --> Adobe Experience Manager --> Enter the server instance values --> Click Next and Add your appropriate modules to the server instance --> Finish

Now double click on the server instance just created and then configure the values such as port number, debug port etc. --> Save the configuration and you are good to go!

Avatar

Former Community Member

@Naveen

Also the archtype 7 created 5 module.. I guess for bundles we have to work in core module,But what about JSP editing..which module we have to use content or ui.apps?

Also please help me how to get JSP code assist in eclipse either using this plugin or in normal way..thanks in advance :)

Avatar

Former Community Member

Abhilash Reddy wrote...

@Naveen

Also the archtype 7 created 5 module.. I guess for bundles we have to work in core module,But what about JSP editing..which module we have to use content or ui.apps?

Also please help me how to get JSP code assist in eclipse either using this plugin or in normal way..thanks in advance :)

 

 

 

JSP ? .. Why not move over to Sightly and WCMUse ? Much better separation and testability. It's the way forward.

Avatar

Level 4

If you want to work on components / templates etc then you need to modify the ui.apps project. The ui.content project mostly contains the html pages, DAM content etc.

As far as auto completion in jsp's is concerned, you should get all the info you need from the below link,

http://docs.adobe.com/docs/en/aem/6-0/develop/how-tos/howto-projects-eclipse.html

Avatar

Level 4

POM files

 

Wasn't able to upload xml files or zip files, hence the word document. You will find the pom files in there.

Avatar

Former Community Member

@Naveen

 

I followed every step given in that link but not getting JSP code completion in eclipse.. Please help me on this if u r getting jsp code completion

Avatar

Former Community Member

@Naveen

Modified my project & content POM file based on the POMs shared by you :) 

I have two problems after following ur instruction :)

1) Getting the below error in maven compile phase.

Compilation Failure
org.apache.sling.scripting.jsp.jasper.JasperException: file:/home/abhilashs/app/Workspaces/CQPlace/demo/demoproject/content/target/jsps-to-compile/apps/demoproject/components/page/homepage/homepage.jsp(2,0) File "/libs/foundation/global.jsp" not found


line number 2 in homepage.jsp is

<%@include file="/libs/foundation/global.jsp"%>

I have this JSP file under libs folder.  To get foundation files I have added below line my filter.xml

 <filter root="/libs/foundation"/>

2) 2nd problem : A warning in JSP file unknown tag(cq:include)

<cq:include script="head.jsp"/>

Please help me in resolving these problems. Thanks in advance :)

 

Abhilash

Avatar

Level 4

Firstly, you need to have a copy of the global.jsp file in /libs/foundation/global.jsp (in your workspace project structure) but you need to ensure that this file stays in your local working directory only - DO NOT move this file to your CQ instance as part of the sync process.

Once this is done you can re run the compile goal in maven and see that there are no further "File Not found" errors.

 (Let's consider that the project structure is myproject-content/src/main/content/jcr_root/apps/myproject/components/)

Right click on your homepage.jsp (which has an include statement of the global.jsp) and then select validate option, you shouldn't be seeing any errors but if at all you do get something like the below,

Fragment "/libs/foundation/global.jsp" was not found at expected path /myproject-content/libs/foundation/global.jsp

then you need to move /libs/foundation/global.jsp into myproject-content and then repeat the validation process.

There should not be any errors shown now and your auto complete and tag lib awareness should work fine!

Let me know if this helps.

Avatar

Level 4

I am not sure why you were not able to get the jsp support to work. Maybe you missed some required dependency from your pom file.

Below you can find the parent pom file and the pom file of the content project created using the multimodule-content-package-archetype (the pom's are modified to support auto completion in jsp's); try using these files and let me know if you are still facing issues with the jsp support.