我想将我的应用程序部署到版本7中的tomcat,我得到以下异常java.lang.NoClassDefFoundError: javax/el/ELManager
但是如果我尝试将此应用程序部署到tomcat版本8,它可以正常工作.
你有任何想法如何解决这个问题?
为什么我要从tomcat 8切换到7?在测试环境中,repo中的tomcat 8和服务器上的tomcat7.
的pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>certplatform</groupId>
<artifactId>certplatform</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-
core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.0.4.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-
context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.4.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-
context-support -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>5.0.4.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-
webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.0.4.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-web
-->
<dependency> …Run Code Online (Sandbox Code Playgroud) 我有简单的Spring HelloWorld程序.其内容如下:
的pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mahesha999.examples.spring</groupId>
<artifactId>SpringExamples</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.2.RELEASE</version>
</dependency>
</dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)
eg1.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
<bean id="helloBean" class="com.mahesha999.examples.spring.eg1.HelloWorld">
<property name="name" value="Mahesha999" />
</bean>
</beans>
Run Code Online (Sandbox Code Playgroud)
HelloWorld.java
public class HelloWorld {
private String name;
public void setName(String name) {
this.name = name;
}
public void printHello() {
System.out.println("Spring : Hello ! " + name);
}
}
Run Code Online (Sandbox Code Playgroud)
App.java
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class App {
public static void main(String[] args) { …Run Code Online (Sandbox Code Playgroud) 我的应用程序在Emulators中运行良好,甚至在android studio安装的实际设备中用于调试目的,但如果使用apk文件手动安装它会崩溃.
我准备粘贴任何其他代码,如活动,如果需要.
这是logcat:
04-14 12:20:44.392 6220-6220/? I/art: Late-enabling -Xcheck:jni
04-14 12:20:44.465 6220-6220/test.planner W/System: ClassLoader referenced unknown path: /data/app/test.planner-1/lib/arm
04-14 12:20:44.467 6220-6220/test.planner I/InstantRun: starting instant run server: is main process
04-14 12:20:44.470 6220-6220/test.planner D/AndroidRuntime: Shutting down VM
04-14 12:20:44.471 6220-6220/test.planner E/AndroidRuntime: FATAL EXCEPTION: main
Process: test.planner, PID: 6220
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{test.planner/test.planner.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "test.planner.MainActivity" on path: DexPathList[[zip file "/data/app/test.planner-1/base.apk"],nativeLibraryDirectories=[/data/app/test.planner-1/lib/arm, /vendor/lib, /system/lib]]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2327)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417) …Run Code Online (Sandbox Code Playgroud) 我正在尝试在mac上运行一个简单的sqlite示例.我很确定该代码在Windows上运行良好.但不是在Mac上.如果有人能帮助我,我真的很感激.
代码在Eclipse中运行.我在项目中添加了sqlite-jdbc4-3.8.2-SNAPSHOT.jar作为内部和外部jar.
public class Test1 {
private static Connection c;
private static String filepath = "/Users/zerocraft/Documents/workspace/sql_test/";
private static String sql;
private static Statement query;
public static void main(String[] args) {
System.out.println("START");
try{
Class.forName("org.sqlite.JDBC");
System.out.println("START2");
c = DriverManager.getConnection("jdbc:sqlite:"+filepath+"projone.db");
System.out.println("START3");
}
catch(Exception e){
e.printStackTrace();
}
sql = "INSERT INTO table(date,time,client_id,run_id,latitude," +
"longitude,bearing,speed,altitude,sensor_id,sensor_type," +
"sensor_value,attribute)"
+ "VALUES ('A','B','C','D',0,1,2,3,4,'E','F','G','H')";
try{
query = c.createStatement();
query.executeUpdate(sql);
query.close();
}
catch(SQLException el){el.printStackTrace();}
}
}
Run Code Online (Sandbox Code Playgroud)
START
START2
Exception in thread "main" java.lang.NoClassDefFoundError: org/sqlite/NativeDB
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at …Run Code Online (Sandbox Code Playgroud) 我正在测试maven及其功能.我正在尝试使用commons-io将字符串写入文本文件
import org.apache.commons.io.FileUtils;
...
public void writeToFile(String fileName){
File file = new File(fileName);
...
FileUtils.writeStringToFile(file,rowEntry); //rowEntry is a String
}
Run Code Online (Sandbox Code Playgroud)
我已将commons-io添加到依赖项中
的pom.xml
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.5</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
它编译但是当我运行它时会引发异常
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils
at com.RandCollections.StringFinder.writeToFile(StringFinder.java:704)
at com.RandCollections.StringFinder.menu(StringFinder.java:123)
at com.RandCollections.StringFinderMain.main(StringFinderMain.java:28)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.io.FileUtils
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 3 more
Run Code Online (Sandbox Code Playgroud)
我想我错过了一些事情,你能指点一下吗?
我意识到这些帖子中有一百万,但没有一个对我有帮助,所以这里说:我正在尝试部署一个非常非常简单的applet,它无法正常加载.我的HTML:
<html>
<head>
<meta http-equiv="Content-Type" content"text/html; charset=utf-8">
</head>
<body>
<applet code = "SimpleApplet.class"
width = "320" height = "100"></applet>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我的Java:
package test;
import javax.swing.*;
public class SimpleApplet extends JApplet{
public void init(){
try{
SwingUtilities.invokeAndWait(new Runnable(){
public void run(){
JLabel lbl = new JLabel("Hello World");
add(lbl);
}
});
}
catch(Exception e){
System.out.println(e);
}
}
}
Run Code Online (Sandbox Code Playgroud)
两个文件都位于同一目录中
/home/me/workspace/myProject/bin/test
Run Code Online (Sandbox Code Playgroud)
如果我通过Eclipse自己运行applet,它运行正常.当我打开页面时,我收到错误
java.lang.NoClassDefFoundError: SimpleApplet (wrong name: test/SimpleApplet)
Run Code Online (Sandbox Code Playgroud)
该错误表明我错误地放置或命名了某些内容.然而,经过尝试
<applet code = "test/SimpleApplet.class"
width = "320" height = "100"></applet>
<applet code = "SimpleApplet.class"
codebase …Run Code Online (Sandbox Code Playgroud) 运行此代码时出现以下错误:(ColorMatrixgetarray()返回 float[])
74 public void testHueShift() {
75 ColorMatrix cm1 = new ColorMatrix();
76 ColorMatrix cm2 = hueShift(0f);
77 assertArrayEquals(cm1.getArray(), cm2.getArray(), 0f);
78 }
Run Code Online (Sandbox Code Playgroud)
错误:
----- begin exception -----
java.lang.NoClassDefFoundError: org.junit.Assert
at com.Common.lib.test.ColorFilterFactoryTest.testHueShift(ColorFilterFactoryTest.java:77)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:545)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1551)
----- end exception -----
Run Code Online (Sandbox Code Playgroud)
但项目构建路径有它:

编辑
这是测试类类路径

这是被测试的类(它是一个库项目)

我编写了maven项目,并在Eclipse中运行了它,但是我想使用命令行来运行maven项目,所以我写了
java -jar -Dapple.awt.UIElement="true" target/myproject-1.0-SNAPSHOT.jar -h
Run Code Online (Sandbox Code Playgroud)
行在cmd中,但出现此错误http://i.stack.imgur.com/c03mN.png。
我该如何解决?
我在pom.xml中添加了最新的Selenium依赖项
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.7.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我使用pom.xml在目录内运行了mvn clean install,并且根据Selenium文档,我还在应用程序类中导入了正确的类。
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试运行主方法时,出现以下错误
Exception in thread "main" java.lang.NoClassDefFoundError:
org/openqa/selenium/WebDriver
Run Code Online (Sandbox Code Playgroud)
我查看我的〜/ .m2 / repository文件夹,但没有看到openqa文件夹,但看到了seleniumhq文件夹。
为什么maven不安装openqa文件夹,为什么文档说要从org.openqa导入...当我的jar存储库中不存在该文件时。我很困惑,我只想在本地存储库中成功导入Selenium Webdriver。
引起:java.lang.NoClassDefFoundError:解析失败:Lorg/apache/http/impl/client/DefaultHttpClient
我无法解决以下错误:
引起:java.lang.NoClassDefFoundError:解析失败:Lorg/apache/http/impl/client/DefaultHttpClient; com.medicend.jykra.medicend.Async.Parser.LoginParser.hitWS(LoginParser.java:68)at com.medicend.jykra.medicend.Async.Parser.LoginParser.postData(LoginParser.java:50)at com.medicend .jykra.medicend.Activity.SignInActivity $ LoginAsync.doInBackground(SignInActivity.java:91)at com.medicend.jykra.medicend.Activity.SignInActivity $ LoginAsync.doInBackground(SignInActivity.java:73)at android.os.AsyncTask $ 2.在java.util.concurrent的android.os.AsyncTask $ SerialExecutor $ 1.run(AsyncTask.java:245)的java.util.concurrent.FutureTask.run(FutureTask.java:266)调用(AsyncTask.java:333). ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:641)at java.lang.Thread.run(Thread.java:764)引起:java.lang .ClassNotFoundException:在路径上找不到类"org.apache.http.impl.client.DefaultHttpClient":DexPathList [[zip file"/data/app/com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ==/base.apk ",zip文件"/ data/app/c om.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ ==/split_lib_dependencies_apk.apk",zip文件"/data/app/com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ==/split_lib_resources_apk.apk",zip文件"/ data/app/com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ ==/split_lib_slice_0_apk.apk",zip file"/data/app/com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ==/split_lib_slice_1_apk.apk",zip file"/ data/app/com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ ==/split_lib_slice_2_apk.apk",zip file"/data/app/com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ==/split_lib_slice_3_apk.apk",zip file"/ data/app/com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ ==/split_lib_slice_4_apk.apk "zip文件 "/data/app/com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ==/split_lib_slice_5_apk.apk",zip文件"/数据/应用程序/ com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ ==/split_lib_slice_6_apk.apk",zip file"/data/app/com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ==/split_lib_slice_7_apk.apk",zip 文件 "/data/app/com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ==/split_lib_slice_8_apk.apk",zip文件 "/data/app/com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ==/split_lib_slice_9_apk.apk"], nativeLibraryDirectories = [/ data/app/com.medicend.jykra.medicend -IiBcrMY7QQm4ixa9RIMICQ ==/lib/x86,/ system/lib]],位于java.lang的dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134). Class.Loader.loadClass(ClassLoader.java:379)at java.lang.ClassLoader.loadClass(ClassLoader.java:312)at com.medicend.jykra.medicend.Async.Parser.LoginParser.hitWS(LoginParser.java:68)at com .medicend.jykra.medicend.Async.Parser.LoginParser.postData(LoginParser.java:50)at com.medicend.jykra.medicend.Activity.SignInActivity $ LoginAsync.doInBackground(SignInActivity.java:91)at com.medicend.jykra .medicend.Activity.SignInActivity $ LoginAsync.doInBackground(SignInActivity.java:73)at android.os.AsyncTask $ 2.call(AsyncTask.java:333)at java.util.concurrent.FutureTask.run(FutureTask.java:266)在android.os.AsyncTask $ SerialExecutor $ 1.run(AsyncTask.java:245)java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:641) )在java.lang.Thread.run(Thread.java:764)抑制:java.io.IOException:找不到dex位置的原始dex文件/data/app/com.medicend.jykra.medicend-IiBcrMY7QQm4ixa9RIMICQ==/split_lib_resources_apk …
android noclassdeffounderror classnotfoundexception android-studio