Cześć,
W eclipse wszystko wygląda dobrze do momentu kompilacji:
Pojawia się cała "litania"
13:51:09,069 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC000001: Failed to start service jboss.deployment.unit."FileUpload1.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."FileUpload1.war".POST_MODULE: WFLYSRV0153: Failed to process phase POST_MODULE of deployment "FileUpload1.war"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:151)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1738)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1700)
at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1558)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoClassDefFoundError: org/ajax4jsf/exception/FileUploadException
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
at java.lang.Class.getConstructor0(Class.java:3075)
at java.lang.Class.getConstructor(Class.java:1825)
at org.jboss.as.jsf.deployment.JSFComponentProcessor.deploy(JSFComponentProcessor.java:106)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:144)
... 8 more
Caused by: java.lang.ClassNotFoundException: org.ajax4jsf.exception.FileUploadException from [Module "deployment.FileUpload1.war" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:255)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:410)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
... 14 more
"FileUpload1.war")]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"FileUpload1.war\".POST_MODULE" => "WFLYSRV0153: Failed to process phase POST_MODULE of deployment \"FileUpload1.war\"
Caused by: java.lang.NoClassDefFoundError: org/ajax4jsf/exception/FileUploadException
Caused by: java.lang.ClassNotFoundException: org.ajax4jsf.exception.FileUploadException from [Module \"deployment.FileUpload1.war\" from Service Module Loader]"}}
13:51:10,348 INFO [org.jboss.as.server] (ServerService Thread Pool -- 43) WFL
Nie wiem w czym jest problem i gdzie to poprawić.
Projekt składa się z 3 plików:
index.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<center>
<h1>Upload File Form</h1>
<form action="FileUploadHandler" enctype="multipart/form-data" method="post">
Enter File Name <input type="text" name="file_name"><br>
Select<input type="file" name="file2" /><br>
<input type="submit" value="upload" />
</form>
<%
String file_name=(String)request.getParameter("filename");
if(file_name!=null){
out.println(file_name+" File uploaded successfuly");
}
%>
</center>
</body>
</html>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<display-name>JSP_File_Upload</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>FileUploadHandler</servlet-name>
<servlet-class>com.chilyfacts.com.FileUploadHandler</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FileUploadHandler</servlet-name>
<url-pattern>/FileUploadHandler/*</url-pattern>
</servlet-mapping>
</web-app>
i servlet fileupload...
package com.chilyfacts.com;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class FileUploadHandler extends HttpServlet {
private static final long serialVersionUID = 1 ;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
String file_name = null;
response.setContentType("text/html");
PrintWriter out = response.getWriter();
boolean isMultipartContent = ServletFileUpload.isMultipartContent(request);
if (!isMultipartContent) {
return;
}
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
try {
List < FileItem > fields = upload.parseRequest(request);
Iterator < FileItem > it = fields.iterator();
if (!it.hasNext()) {
return;
}
while (it.hasNext()) {
FileItem fileItem = it.next();
boolean isFormField = fileItem.isFormField();
if (isFormField) {
if (file_name == null) {
if (fileItem.getFieldName().equals("file_name")) {
file_name = fileItem.getString();
}
}
} else {
if (fileItem.getSize() > 0) {
fileItem.write(new File("D:\\uploaded_files\\" + fileItem.getName()));
}
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
out.println("<script type='text/javascript'>");
out.println("window.location.href='index.jsp?filename="+file_name+"'");
out.println("</script>");
out.close();
}
}
}
Nie mam bladego pojęcia w czym może być problem