Unable to recompile jsps - aem

I am working on CQ5.6.1 version and trying to recompile jsp files. When I try to hit http://localhost:4502/system/console/slingjsp . I am getting 404 error as below. Any Idea where the problem is?
The requested page was not found. If you are not forwarded in 3 seconds to the Web Console, please click here
Thanks,

I don't have a running CQ 5 instance but I think that it didn't had the FSClassLoader that handles the compiled JSP in my AEM 6.1 instance. So you probably receive a 404 because this plugin is not be installed.
If you want to find more about your concrete issue tail the error.log file and also you may check that the following bundles are in the Active state:
Apache Sling JSP Tag Library
Apache Sling Scripting Core
Apache Sling Scripting Implementation API
Apache Sling Scripting Java Support
Apache Sling Scripting JavaScript Support
Apache Sling Scripting JSP Support
Apache Sling Scripting JST Support
As a response to your question, in CQ 5 you can achieve what you want by manually deleting the compiled nodes found in the repository at /var/classes and /var/clientlibs.

Related

I get "Can't find any GWT Modules on this page"

I am trying to set up my eclipse with gwt and after I installed Jdk 8 and eclipse 2019-06 and gwt eclipse plugin 3.0 I created the sample project with code generated and when I try to run the sample code in GWT Development mode it gives me url http://localhost:9876 and when I open it I get "Can't find any GWT Modules on this page" Can you please help why It is giving me Can't find any GWT Modules on this page. I am assuming if I am running it in development mode I don't need to set up web server so I didn't. I didn't used gwt for long time and I am lost why it is giving me this can't find gwt module message when I load the page. Can you please help?
You still need a server, if you want to run any java code on your server. Such as code for talking to your database.
Gwt only does 2 things:
1: is is handling the client side, where it generate javascript from your java code.
2: It includes a .jar file, which can be used together with a java servlet server such as apache tomcat to serialize java objects which can then be send between the client and the server. And this .jar file will serialize all needed objects. And gwt will generate the needed javascript code.
Gwt does not itself include any http server. The address http://localhost:9876 is only used to configure gwt. It is just a page with 2 buttons to turn dev mode on/off.
The eclipse plugin does include a embeded webserver which can be used for gwt development. I have newer done this and I think that installing an independent java tomcat server is the best solution.
But if you want to use the eclipse embeded webserver you need the "Run in development mode with Jetty." - Jetty is the name of the embeded java servlet server.
Are you using the plugin from Google ?
If so, this is outdated. I advice you to use the plugin from branflake. You can find this plugin on GitHub : https://github.com/gwt-plugins/gwt-eclipse-plugin
Also on that GitHub page a lot of documentation is available. Like a link to a very helpfull YouTube playlist: https://www.youtube.com/watch?v=DU7ZQVLR5Zo&list=PLBbgqtDgdc_TqzA-qXrjgTFMC_6DKAQyT
My advice is to watch these YouTube videos to get you started. If you follow them all should be working without a problem.
I haven't used this plugin for a while since I switched to IntelliJ. But I did use it in GWT2.8.2 so it should still work fine.

Jersey Rest service: 'Resource /Servers is not open'

I am new to Java EE and am trying to learn the same using tutorials and examples online.
I am trying to follow http://www.vogella.com/articles/REST/article.html#first and create a RESTful service using Jersey.
Since this is my first RESTful service, I have basically copy-pasted whatever code is present till http://www.vogella.com/articles/REST/article.html#first_run.
However, when I try to run the service, I am getting an error:
Could not load the Tomcat server configuration at /Servers/Tomcat v7.0 Server at localhost-config. The Servers project is closed.
When I tried looking into the server configuration, I see that the configuration path is showing an error for the value: /Servers/Tomcat v7.0 Server at localhost-config.
When I try to change any (server) configuration and save it, I get the message: "Error while saving. Resource '/Servers' is not open."
Five differences between my project and what is described in the page:
I am using JDK 1.7, while the page mentions JDK1.6.
I am using Apache Tomcat Server 7.0, while the page mentions Tomcat version 6.0.
The Dynamic web module version is set to 3.0 in my project, while it is 2.5 in the page.
I have a couple of practise spring apps configured on my tomcat server. I am not sure how to remove them. :(
I have updated my web.xml to use web-app_3_1.xsd in the place of web-app_2_5.xsd.
I am not able to understand why this is happening.
If this does not seem to be solvable, I would be thankful, if you can point me to any resource that explains creating a RESTFul service using Jersey using Java EE7, Apache Tomcat 7 and, preferably, Eclipse.
The solution turned out to be simple. When I looked at the Project Explorer, I saw that there was a project called "Servers". Once I "opened" this project, the problem got resolved.
Seems like marking all projects and selecting "Close Project" has a side effect in Java EE Perspective. :)

How to use apache sling extension gwt servlet 3.0.0?

I have a GWT project(GWT version 2.4). I want to start up Spray-servlet in server side GWT, but GWT does not support servlet-3.0, therefore I wanted to use org.apache.sling.extensions.gwt.servlet-3.0.0.jar for using servlet-3.0.0.
How I can use org.apache.sling.extensions.gwt.servlet-3.0.0.jar in GWT?
EDIT
If sling does not help me, then how can I run spray-servlet-1.2-RC1 in server side GWT?
org.apache.sling.extensions.gwt.servlet-3.0.0.jar is not a Servlet 3.0 package for GWT, but an extension to Apache Sling meant to allow server-side GWT code to run.
It's not what you're looking for.

Embedding Felix in Tomcat

I am a newbie to OSGi, started using felix. I am at present well versed with the concept of bundles, service etc. I have a requirement where I can embed Felix into Tomcat, I tried googling the same but was unable to find a relevant solution for my purpose.
What I exactly need is..
Till now I used to deploy my web app bundles into embedded http jetty service/PAX web.. installed inside Felix, but now I want to put Felix into Apache Tomcat/any other application server, so that whenever my tomcat starts up I need my felix instance up and running, and at the same time should be able to deploy/install/start my bundles through felix.
Any kind of help would be greatly appreciated.
You might want to consider the Apache Sling Launchpad subproject. This creates a WAR file which can be deployed into any servlet container and which launches the Apache Felix framework as the OSGi framework.
See also the Sling Launchpad and Embedding Sling for more information.

Consuming Web Services in Netbeans

I've setup a project in Netbeans 6.5 with some web services that I've created myself and some web services that I've imported from WSDL files. I've setup a couple of desktop application through Netbeans in order to consume these web services. I'm not too sure where to go from here.
I have the GUI setup but not sure how to reference the web services so they can be consumed. I was wondering would anybody be able to guide me through this process or point me in the direction of a relevant tutorial. I'd also like to learn how to consume a web service through a JSP (also created in Netbeans) if possible.
Thanks.
You may find this tutorial useful:
http://netbeans.org/kb/docs/websvc/client.html, but since you are using Netbean 6.5 this may be the correct version:
http://netbeans.org/kb/61/websvc/client.html. As the steps show, it isn't difficult to build a jax-ws client using Netbeans.
But, it depends on what version of Java you are using also, most likely. You may want to download the latest version of jax-ws, if you get errors with your wsdl.
For a JSP, just create a custom tag to call the client.