Im working in 2 separate webapplications a back and front app.
The funny thing is when I run the back-end I don't have any issues. But in the front-end I get the following error:
I have the following error in Netbeans
NetBeans: Deploying on Apache Tomcat or TomEE
profile mode: false
debug mode: false
force redeploy: true
Undeploying ...
undeploy?path=/
OK - Undeployed application at context path /
In-place deployment at D:\WebDevel\WebStore\WebFrontE\target\Web-1.0-SNAPSHOT
Deployment is in progress...
deploy?config=file%3A%2FC%3A%2FUsers%7E1%2FAppData%2FLocal%2FTemp%2Fcontext7815575477480252472.xml&path=/
FAIL - Deployed application at context path / but context failed to start
Both are running on the same Tomcat. my colleague has the same code and it works fine :-s
Context Path (or) Context Root must be unique for each application deployed on the server.
So you can't deploy two applications with same context root to the same server. It seems for both of your applications the context path is /.
Check server.xml to see what context path both of them have. If they are not unique, then change them to solve the problem.
But if you want the same context root for both applications, then you need to deploy them in two different servers.
For more information:
Tomcat Context paths configuration
I may be a little late but would say that this could be because of the change in the factory name in Tomcat 8. So follow the below steps:
1) First, see if you are using Tomcat 8 or higher.
2) If yes, and tomcat is not able to deploy your application. Run the application in Debug mode and see stack trace in Tomcat window (at bottom. Not same as Tomcat.log). Scroll down the window and see if you can find an Exception like this:
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory
3) If you see something like above, Open your META-INF/context.xml and replace or add the factory attribute in the resource tag with:
factory="org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory"
4) Restart tomcat and redeploy.
While trying to deploy a spring boot web app from jenkins to an external VM I was getting the same error as below.
After I look into tomcat log I found it was for java version error. I didnt install proper java version which my spring boot application supports.
I installed openjdk 8 and removed java7 from vm and it was resolved.
The actual cause behind the below error can be many . so check your tomcat /logs/catalina.out directory for exact error. at Jenkins build log it doesn't give actual error.
FAIL - Deployed application at context path [/webapp] but context
https://www.youtube.com/watch?v=1jsKGhXmm4c
I had this problem a d after a lot of links that didn't work, found this solution. Edit the server.xml on your Tomee server to provide a fully qualified path for appBase:
<Host name="localhost" appBase="C:\apache\apache-tomee-7.0.2-plume\webapps"
unpackWARs="true" autoDeploy="true">
The following error occurs if your context has not started well.
Instance : You have context listener that calls a method and the method is not present.
My issue was a syntax error in web.xml, I didn't close an element
The tomcat window (NetBeans) had a clear errormessage, thanks Arafat
01-Sep-2018 17:34:38.641 SEVERE [http-nio-8080-exec-5] org.apache.tomcat.util.digester.Digester.fatalError Parse Fatal Error at line 50 column 11: The element type "param-value" must be terminated by the matching end-tag "".
I am also had trouble solving this kind of issue on my netbeans. I'm stack the whole day getting rid of this issue. Many solutions have been tried but still nothing happen until I tried to delete the "target" folder of my project and that solved the problem! Hope it helps! :)
I have came across this problems several times,i tried the below steps and it worked..!
1. Backup you current project(For safety).
2. Locate you project folder location (Normally found in MyDocuments or Documents folder named as NetBeansProjects).
3. Open the project folder and delete the folder named target inside your project folder
4. Close the NetBeans and re-open the it and run the project.
And you are good to go.
If the above didn't work then try deleting the xml file from the folder "Tomcat 9.0\conf\Catalina\localhost" folder.
I had this error while using Java Web due to a syntax error:
My Servlet code should be like this:
#WebServlet(name = "EleicaoServlet", urlPatterns = {"/EleicaoServlet", "/main", "/insert", "/edit", "/delete", "/update"})
But I forgot to type '/' in the "/update"
#WebServlet(name = "EleicaoServlet", urlPatterns = {"/EleicaoServlet", "/main", "/insert", "/edit", "/delete", "update"})
And I got this error.
So if nothing above works you may want to check your code, it can be something stupid like this.
I have tried
mvn clean install
and worked for me for the same problem :)
'undeployed application at context path' this error occur due to missing some file while copying project from one system to another.
while coping make sure all files should be copied.If an error occur then please recopy project and import it..
It may work..
I just had the same issue i solved by giving security permission to the user for Apache Server Foundation in root folder
in my case i removed some configuration tags that i added in web.xml,trying to configure a strut package.I also removed that package respectively,i restarted the server,run the project and it worked.
Faced the same problem # one time. In one of the instance, it was caused by a controller that had multiple methods with same route e.g
#RestController
public class UsersController
{
#Autowired
UsersInterface userInterface;
#RequestMapping(value = "/get", method = RequestMethod.GET)
public String test()
{
return "Users";
}
#RequestMapping(value = "/get", method = RequestMethod.GET)
public List<user> getUsers()
{
List<User> users = userInterface.getUsers();
return users;
}
}
As you can see, the controller has 2 methods that define two get routes, hence Spring cannot resolve the method to run the .../users/get route.
Remote one of the get routes and change it to something else.
I may be late to answer but might help others later in the future.
This could be many causes, but the most frequent personally in my case was the web.xml file servlet declarations. When I was cross developing a project both on Mac and Linux, I saw the file behave different in the two platforms due to some space or new line issues. It took me hours to find out as the servlet count was more than 20. Ultimately I narrowed down to strangely only one controller class declaration and found the syntax to be absolutely perfect. It bamboozled me, so I thought I'd rewrite the declaration after deleting the old one and BAM! It worked on Mac immediately. Strange.
I am facing this problem, after trying several other suggestions, the following thing worked perfectly for me.
Delete the following file:
/apache-tomcat-9.0.13/conf/Catalina/localhost/*.xml
This is a bit late but for anyone who might face the same error.
For me, this error was caused by wrong syntax in my servlet.
#WebServlet(urlPatterns = {"/x/login", "/x/register", "/x/logout", "x/createrestaurant"})
It looked like the above and I got the same error. After sometime and trying to deploy on a different server (from Tomcat to Glassfish), Glassfish gave me better logs and I realized the syntax should have been like this
#WebServlet(urlPatterns = {"/x/login", "/x/register", "/x/logout", "/x/createrestaurant"}).
Notice the / before x/createrestaurant.
I had the same issue with even newly added projects tried a lot of stuff mentioned above. what works for me is to manually Stop tomcat service in the Installation directory \Tomcat 9.0\bin Tomcat9w.exe. Then deployed the project it works this way in Netbeans IDE.
FAIL - Failed to deploy application at context path...
I was facing the same issue. But I resolved it. Please see the following steps:
First, stop the Tomcat service that is already running on the background, Not in the Netbeans. For this, go to TaskManager properties>Services>tomcat
Right click on the tomcat service to stop
Now, after that. Close netbeans IDE and run again
Right click on the project and select run. The project will be running without any issue
I hope above solution will be helpfull who having the same error.
One Problem could be the port you are trying to use might be being used by another application. Try changing the port or clearing that one and it might work fine.
Problem has been resolved by stopping the Tomcat server
sudo systemctl stop tomcat
so as to allow Netbeans to run it. If the server is already running when Netbeans tries to deploy an app Netbeans will display the delopy failed message.
I had the same problem, but I used only maven (without IDE). My tomcat version was tomcat7 7.0.70-1 and jdk8 (in pom.xml: <java.version>1.8</java.version>) It turned out that tomcat7 incompatible with java 8, so, I changed java.version in pom.xml on <java.version>1.7</java.version> and that was the solution!
I had same problem and I resolved this issue by stopping the tomcat from IDE and run the web application it starts the tomcat automatically.(This works in Netbeans IDE). Simply Stop Tomcat and start again and redeploy web application.
Related
I've a Spring Boot app written in Kotlin that I have deployed to AWS Beanstalk that is throwing the following exception:
Exception in thread "main" java.lang.NoSuchMethodException: com.prototype.demo.DemoApplication.main([Ljava.lang.String;)
at java.base/java.lang.Class.getDeclaredMethod(Class.java:2675)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:47)
Locally, when I run the app from IntelliJ I've no issues.
I have the spring-boot-maven-plugin and the kotlin-maven-plugin in my project.
Any ideas about what could be causing the issue? I previously built a similar app in Java but didn't run into this issue.
Thank you for your expertise and time.
Update: something interesting to notice is that I had to set in the properties of my POM the following line in order to make the project executable by IntelliJ during development (i had forgotten about it): <start-class>com.prototype.demo.DemoApplication</start-class>
Now I've removed it and I get a different error when running the jar file. I will spend some time on it and see if that's related or not and update the question accordingly.
Thank you!
The issue was raised by the following property declared in my POM file: <start-class>com.prototype.demo.DemoApplication</start-class>.
Once I removed it and added the open keyword to the Configuration annotated classes and to the DemoApplication(the class containing the main) it finally worked.
Solution for build.gradle.kts
I had the same problem when deploying my application to ECS.
First things first:
When you see such an error in AWS logs -> do as the author of the question has done and test the issue locally. Most probably if the application is failing on AWS, it will also fail on you local machine. To do so, you build a jar locally, the jar file is usually saved in build/libs/application-x.x.x-SNAPSHOT.jar and run java -jar application-x.x.x-SNAPSHOT.jar
Now you can fix your build task and test it locally before deploying it again.
Fix Gradle:
My main method was defined in MyApplication.kt file, but in the definition of the main class in gradle I had to set the following:
tasks.getByName<org.springframework.boot.gradle.tasks.bundling.BootJar>("bootJar") {
mainClass.set("com.company.app.MyApplicationKt")
}
Notice: MyApplicationKt
That is the only thing I had to change for me to fix this issue.
I use Jdeveloper Studio 11.1.1.4.0, I use the ADF components on it, but for the last couple of days when I start the Jdeveloper, this Error comes up
Uncaught exception
java.lang.NoClassDefFoundError: Could not initialize class oracle.dbtools.raptor.config.DBConfig
o.dbtools.raptor.oviewer.base.NavSelectionListener.viewSelectionChanged(NavSelectionListener.java:176)
o.i.view.View.fireViewSelectionChangedImpl(View.java:495)
o.i.view.ViewDecorator.fireViewSelectionChangedImpl(ViewDecorator.java:59)
o.i.view.View.fireViewSelectionChanged(View.java:485)
o.i.view.View.updateSelectionImpl0(View.java:444)
o.i.view.View.updateSelectionImpl(View.java:429)
o.i.view.View.updateSelection(View.java:306)
o.ideri.navigator.DefaultNavigatorWindow$4.viewSelectionChanged(DefaultNavigatorWindow.java:1108)
o.i.view.View.fireViewSelectionChangedImpl(View.java:495)
o.i.view.View.fireViewSelectionChanged(View.java:485)
o.i.view.View$2.actionPerformed(View.java:349)
jx.s.Timer.fireActionPerformed(Timer.java:271)
jx.s.Timer$DoPostEvent.run(Timer.java:201)
j.a.event.InvocationEvent.dispatch(InvocationEvent.java:209)
j.a.EventQueue.dispatchEvent(EventQueue.java:597)
j.a.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
j.a.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
j.a.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
j.a.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
j.a.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
j.a.EventDispatchThread.run(EventDispatchThread.java:122)
I can't find the Database Navigator either and also this error also comes up when I use anything related to the database, I tried to uninstall the Jdeveloper and removed the middleware folder and reinstall everything to get the default but still same story.
I really need a fix for this ASAP because I'm already behind schedule on my graduation project.
Thanks.
check your classpath, there must be a problem here, verify the JDevelloper folder is in
I get the following error in Endeca:
com.endeca.navigation.ENEException: Navigation Engine not able to process
request `http://myhost:15000/search?terms=remote&rank=0&offset=0&irversion=601`
My MDEX version is 6.3.0
The referenced jar files in my app is:
endeca_navigation.jar : Specification-IR-Version: 6.3.0 (Read from MANIFEST file)
endeca_logging.jar: Specification-Version: 6.1.2 (Read from MANIFEST file)
Even with these referenced jars, why is the request parameter still irversion=601?
I'm using java 1.5 and building my app in eclipse. At first, it was referencing older jar files (601), but i removed those completely and replaced them with the newer jar files listed above. I've rebuilt my app and I still see the parameter irversion=601. I've been trying to find out what the issue is for a few hours, but i'm having no luck.
Any ideas?
If nothing else I think that you need an N=0 parameter for you request to work.
Also if you are using an application server like Weblogic to run you app, it has a tendency of caching referenced jars which may have to be cleared for it to pick up the new versions of the jars.
Finally if all else fails there is a --back_compat 601 parameter on your dgraph which indicated the accepatble navigation.jar versions. You can use this parameter to determine if the issue is the jar version or something else in between.
Good Luck
Additionally to Wiszh's response, it is useful to take a look at the dgraph request query logs (located in /logs/dgraph/Dgraphxx/Dgraphxx.log and .reqlog) which will show a more specific error and the query that caused it.
Do your jars match the version of Endeca server you are querying?
This issue is due to an old navigation api jar in your class path
Check the ToolsAndFrameworks\version\assembler\lib to get the correct version of navigation api jar. That should fix this issue.
correct jar path fixed the issue for me
ToolsAndFrameworks\version\assembler\lib
I have developed a little program for myself. After testing and
finishing it locally I now wanted to put it on my server.
I get this error:
Compilation error The file /app/controllers/Links.java could not be
compiled. Error raised is : Secure cannot be resolved to a type
It is thrown at this line:
#With(Secure.class)
In the Class Links I have:
import play.mvc.With;
import controllers.*;
#With(Secure.class)
public class Links extends CRUD {
}
I have installed play 1.2.2 on my server. Play is running probably. I
type in the terminal "play start appname" and opened serverIp:9010 to
see this error. If I type "play precompile appname" everything seems
to work.
In the subfolder /modules of the app I have two text files, one "crud"
and one "secure" which point to the modules location on the server. I
also have defined the modules in dependencies.yml like this:
require:
- play
- crud
- secure
In the application.conf I have a Production definition for my server
with the proper Server-ID like this:
%server1.application.mode=PROD
Any idea why this isn't working?
I have solved it. For future reference:
I had an old process of play running. Found it with ps -aux and then kill PID. After that I started the application again with play start.
It's now running fine :)
Thanks for you help!
Declaring the secure module in dependencies.yml file is the first step.
Next you have to type the shell command "play dependencies" in order to resolve them.
Just have a glance on the documentation here : http://www.playframework.org/documentation/1.2.2/dependency#Theplaydependenciescommand
Have fun with Play!
Sometimes you have to refesh the classpath settings by using play eclipsify again. (depends on the IDE you are using)
I had to insert this line to application.config
module.secure=${play.path}/modules/secure
I had the same problem in my development environment, but not in my production server. I tried to solve by the module documentation, the accepted answer here, and many others with no success.
My solution was to download again play framework (1.2.7) and replacing it in the path where I installed first.
Hope this can guide someone else with the same issue.
Regards.
I have a Java (6) application which uses Hibernate (V3.3.2) to read data from HSQLDB, which i build and debug/run with Eclipse (V3.5.1), and it works fine.
I then created a GWT (V1.7) Servlet web app, copied my hibernate classes into it, and added the same User Libraries dependencies. However when i run the servlet and try to access a URL which invokes my code i get this:
java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:152)
at xxx.daoimpl.DAOSession.initialise(DAOSession.java:40)
where DAOSession.java:40 is :
AnnotationConfiguration config = new AnnotationConfiguration ();
Googling for this error suggests i am missing slf4j-api.jar from the classpath, however if i look at the command line for the Debug properties i can see this jar there:
C:\java\jsedk_6\jre\bin\javaw.exe
-agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:54541
-Xmx512m -Dfile.encoding=Cp1252
-classpath
D:\dev\workspace\xxx\src;
D:\dev\workspace\xxx\resources;
D:\dev\workspace\xxx\war\WEB-INF\classes;
C:\java\eclipse\plugins\com.google.gwt.eclipse.sdkbundle.win32_1.7.1.v200909221731\gwt-windows-1.7.1\gwt-user.jar;
C:\java\eclipse\plugins\com.google.gwt.eclipse.sdkbundle.win32_1.7.1.v200909221731\gwt-windows-1.7.1\gwt-dev-windows.jar;
C:\java\hibernate-annotations-3.4.0.GA\hibernate-annotations.jar;
C:\java\hibernate-annotations-3.4.0.GA\lib\ejb3-persistence.jar;
C:\java\hibernate-annotations-3.4.0.GA\lib\hibernate-commons-annotations.jar;
C:\java\hibernate-distribution-3.3.2.GA\hibernate3.jar;
C:\java\hibernate-distribution-3.3.2.GA\lib\required\antlr-2.7.6.jar;
C:\java\hibernate-distribution-3.3.2.GA\lib\required\commons-collections-3.1.jar;
C:\java\hibernate-distribution-3.3.2.GA\lib\required\dom4j-1.6.1.jar;
C:\java\hibernate-distribution-3.3.2.GA\lib\required\javassist-3.9.0.GA.jar;
C:\java\hibernate-distribution-3.3.2.GA\lib\required\jta-1.1.jar;
C:\java\hibernate-validator-4.0.1.GA\hibernate-validator-4.0.1.GA.jar;
C:\java\hibernate-validator-4.0.1.GA\lib\validation-api-1.0.0.GA.jar;
C:\java\hibernate-validator-4.0.1.GA\lib\log4j-1.2.14.jar;
C:\java\hsqldb\lib\hsqldb.jar;
C:\java\restlet-jse-2.0m5\lib\org.restlet.jar;
C:\java\restlet-jee-2.0m5\lib\org.restlet.ext.servlet.jar;
C:\java\restlet-jse-2.0m5\lib\org.restlet.ext.xml.jar;
C:\java\slf4j-1.5.8\slf4j-api-1.5.8.jar;
C:\java\slf4j-1.5.8\slf4j-log4j12-1.5.8.jar
com.google.gwt.dev.HostedMode
...
If i open the jar i can see the LoggerFactory class in there.
Any idea why it isn't being found by the class loader?
Edit 1: If try to access org.slf4j.LoggerFactory from my code, Eclipse compiles it ok, but i get the same error at runtime.
Edit 2: If i add a Test class with a main which calls the same code and run it, it works. So this classpath problem seems specific to the Servlet.
thanks,
jon
It seems that copying the two slf4j jars to the war/WEB-INF/lib sub-project/dir fixed the problem. I'm not really sure why i should need to do this for these two jars and not for all the other Hibernate, Restlet etc jars that the project also uses, though i suppose for consistency i will do that anyway - i guess it will make deployment easier as well.
If someone can provide some sort of explanation as to why this worked and why exactly i need to do it i will select it as the "correct" answer, otherwise i'll select this one.
Can you please reconfirm that you have at least two slf4j.jar files in the classpath, the slf4j-api.jar and exactly one implementation, such as slf4j-jdk14.jar?
You must not have multiple sflj4-implementations in the classpath.
You have a runtime dependency issue so everything compiles fine but the dependency is in your jars. You need to visit the Hibernate site and look at the compatibility matrix and make sure you are matched up correctly then check the dependencies for annotations and core. You log4J jars look fine so it's definitely some quirk.
If it works in Eclipse then logically it's definitely some diff between the 2 runtimes (eclipse and non-eclipse), if the matrix checks out fine then see if you can factor out the commonalities in the 2 then work out the differences -- your answer should be in there.
I had a similar issue except I was using Tomcat and the NoClassDefFound error was on the juli logger. I fixed it by removing the Tomcat dependencies from my classpath when running in hosted mode because hosted mode embeds a Tomcat server that was conflicting. So I would see what happens if you remove some or all of the restlet jars from your classpath to see if they conflict.