gpt4 book ai didi

java - 无法初始化类 com.sun.jna.Native

转载 作者:太空狗 更新时间:2023-10-29 12:06:05 30 4
gpt4 key购买 nike

我试图使用 JNA 更改 linux 服务器上以编程方式上传文件的文件权限。我的引用资料是 thisthis .我的代码在下面给出。并收到 Operation not permitted 异常。有什么办法可以解决这个问题吗?有没有其他方法可以编程更改上传文件的权限?或者有什么方法可以上传具有指定文件权限的文件。我正在使用 Java 1.5。我已经把 jna.jar 放在 /public_html/WEB-INF/lib 中,谁能为初学者推荐一个好的 JNA 教程?

JSP 代码(用于测试)

<%@page import="cc.FileModifierLinux"%>
<%@ 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>
<%

try
{


FileModifierLinux flx=new FileModifierLinux();
String pathX = getServletContext().getRealPath("/testpage.jsp");
flx.Update(pathX);
out.println("No Exception");
}
catch(Exception exp)
{
out.println("exp :"+exp);
}
%>
</body>
</html>

使用的类

package cc;
import com.sun.jna.Library;
import com.sun.jna.Native;

public class FileModifierLinux {
CLibrary libc = (CLibrary) Native.loadLibrary("c", CLibrary.class);
public void Update(String pth) {
libc.chmod(pth, 0755);
}
}

interface CLibrary extends Library {
public int chmod(String path, int mode);
}

异常

有关完整的异常详细信息,请参阅 this

 org.apache.jasper.JasperException: Exception in JSP: /index_check.jsp:23

20: {
21:
22:
23: FileModifierLinux flx=new FileModifierLinux();
24: String pathX = getServletContext().getRealPath("/testpage.jsp");
25: flx.Update(pathX);
26: out.println("No Exception");


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:491)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

root cause

javax.servlet.ServletException: Could not initialize class com.sun.jna.Native

最佳答案

我遇到了类似的问题;对我来说,从 JNA 3.0.9 升级到 3.2.7 解决了这个问题。我还添加了之前缺少的 platform.jar。

关于java - 无法初始化类 com.sun.jna.Native,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11789493/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com