public class FtpServerTest {
public static void main(String[] args) {
try {
FtpServerFactory serverFactory= new FtpServerFactory();
ListenerFactory factory=new ListenerFactory();
factory.setPort(21);
SslConfigurationFactory ssl = new SslConfigurationFactory();
File keystoreFile=new File("D:\\up\\ftpserver.jks");
ssl.setKeystoreFile(keystoreFile);
ssl.setKeyPassword("password");
SslConfiguration sc=ssl.createSslConfiguration();
factory.setSslConfiguration(sc);
factory.setServerAddress("127.0.0.1");
factory.setImplicitSsl(true);
serverFactory.addListener("default", factory.createListener());
//serverFactory.setUserManager(ftpService.userManager());
FtpServer server = serverFactory.createServer();
server.start();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
启动时一直报错
log4j:WARN No appenders could be found for logger (org.apache.ftpserver.ssl.SslConfigurationFactory).
log4j:WARN Please initialize the log4j system properly.
org.apache.ftpserver.FtpServerConfigurationException: DefaultSsl.configure()
at org.apache.ftpserver.ssl.SslConfigurationFactory.createSslConfiguration(SslConfigurationFactory.java:364)
at FtpServerTest.main(FtpServerTest.java:22)
Caused by: java.lang.NullPointerException
at org.apache.ftpserver.ssl.SslConfigurationFactory.loadStore(SslConfigurationFactory.java:305)
at org.apache.ftpserver.ssl.SslConfigurationFactory.createSslConfiguration(SslConfigurationFactory.java:326)
... 1 more
问题补充:代码调试看,源代码报空指针的代码在下面
private KeyStore loadStore(File storeFile, String storeType,
String storePass) throws IOException, GeneralSecurityException {
InputStream fin = null;
try {
if(storeFile.exists()) {
LOG.debug("Trying to load store from file");
fin = new FileInputStream(storeFile);
} else {
LOG.debug("Trying to load store from classpath");
fin = getClass().getClassLoader().getResourceAsStream(storeFile.getPath());
if(fin == null) {
throw new FtpServerConfigurationException("Key store could not be loaded from " + storeFile.getPath());
}
}
KeyStore store = KeyStore.getInstance(storeType);
store.load(fin, storePass.toCharArray());
return store;
} finally {
IoUtils.close(fin);
}
}
KeyStore store = KeyStore.getInstance(storeType);
store.load(fin, storePass.toCharArray());
这里报异常
问题补充:请问下对于源码如何去调试
myali88 写道
引用
KeyStore store = KeyStore.getInstance(storeType);
store.load(fin, storePass.toCharArray());
这里报异常
具体是哪个对象空了,我想也应该能调试出来的。
相关推荐
完成上述配置后,需要重启Apache FtpServer服务,并使用客户端软件(如FileZilla)进行测试: 1. **配置站点信息**:在FileZilla或其他FTP客户端中添加一个新的站点,输入Apache FtpServer的地址、端口以及登录凭据...
Apache FTPServer 配置使用指南 FTP(File Transfer Protocol)是用于在网络上传输文件的协议,广泛应用于文件共享、上传下载等场景。在 JavaWeb 集群环境下,配置 FTP 服务器是非常重要的,本文将介绍 Apache FTP...
1. **安全性**:Apache FTPServer支持多种安全协议,如FTPS(FTP over TLS/SSL)和SFTP(通过SSH)。FTPS提供了数据加密,确保了传输过程中数据的安全性;而SFTP则利用SSH提供的安全通道进行文件传输。 2. **可扩展...
从零开始介绍Apache FtpServer,并一步一步教你配置Apache FtpServer,更高级的应用,教你用写代码控制Apache FtpServer及集成到自己的应用中 <!--ftp端口 --> <!--绑定的服务器IP地址,多网卡的时候使用...
本文将深入探讨Apache Ftp Server的使用方法,包括安装、配置、管理以及常见问题解决。 **一、安装Apache Ftp Server** 1. 下载:首先,你需要从Apache官方网站(http://mina.apache.org/ftpserver/download.html...
这篇笔记主要围绕Apache FTPServer的使用、配置和相关开发进行讲解。 首先,Apache FTPServer提供了灵活的配置机制,允许管理员通过XML文件定制服务器的行为。这包括设置用户账户、指定工作目录、限制上传下载速度...
在本资料包中,你将获得Apache Ftpserver的全套资源,包括源码、jar包以及配置说明,这将帮助你深入了解并使用这个强大的FTP服务器。 首先,`FtpServer配置详解.pdf`文档是关于Apache Ftpserver配置的详细指南。这...
Apache FtpServer 配置FTPS(FTP over SSL)是为了提供更加安全的文件传输环境,确保数据在传输过程中不被窃取或篡改。FTPS是FTP协议与SSL(Secure Sockets Layer)技术的结合,它通过加密机制保护了用户的身份验证...
- `org\apache\ftpserver\usermanager\impl\AbstractUserManager.class` 修改这些类的主要目的是让其支持新的表结构,并实现在验证过程中对源IP地址的检查。 通过以上步骤,我们可以有效地配置并使用Apache FTP...
总之,Apache FTPServer是一个强大且灵活的FTP服务器解决方案,无论是在个人项目还是企业环境中,都能提供可靠的服务。了解并熟练掌握其安装、配置和管理方法,对于提升网络文件传输的安全性和效率至关重要。
完成所有配置后,启动Apache FTPServer服务,并使用FTP客户端进行测试,验证用户能否成功登录,以及权限控制是否按预期工作。 9. **安全考虑** 记得对Mysql数据库进行安全配置,避免敏感信息泄露。同时,使用SSL/...
Java使用Apache FtpServer实现嵌入式FTP服务器是一项常见的任务,尤其在开发集成测试或部署自动化流程时。Apache FtpServer是一个开源项目,它提供了一个轻量级且可嵌入的FTP服务器,允许开发者在Java应用程序中直接...
Apache FtpServer是一款开源的FTP服务器,它基于Java平台,为用户提供了一种灵活且可扩展的方式来搭建和管理FTP服务。Apache FtpServer以其强大的功能、良好的稳定性和丰富的配置选项深受IT专业人士的喜爱。以下是对...
例如,在 `%FTP_HOME%/common/lib/ftpserver-core-1.0.5.jar` 文件中找到相关类文件,如 `org.apache.ftpserver.usermanager.impl.DbUserManager.class` 和 `org.apache.ftpserver.usermanager.impl....
Apache_FtpServer配置详解
Apache FTP Server的设计目标是提供一个灵活、可扩展且安全的解决方案,适合企业级的文件传输需求。 在了解Apache FTP Server之前,我们先来认识一下FTP(File Transfer Protocol)。FTP是一种用于在网络上进行文件...
Apache FTPServer是一个开源的FTP...总之,Apache FTPServer是一个功能全面、安全可靠的FTP服务器解决方案,适合各种规模的企业和组织使用。通过深入理解其配置和管理,用户可以搭建出满足特定需求的FTP服务环境。
Apache FtpServer是一个100%纯Java的、基于现有开放式协议基础上、完整、小巧的FTP服务器。此外,FtpServer还可以作为Windows服务器、Unix / Linux后台程序或是被嵌入在Java应用程序而独立运行。有了MINA...
Apache FtpServer的核心设计目标是提供一个轻量级、高性能且易于扩展的FTP服务解决方案。 在Java应用程序中使用Apache FtpServer时,你需要包含一系列的jar包来支持其运行。这些jar包包含了服务器本身的基础组件、...
总结来说,Java嵌入Apache FtpServer实现FTP服务涉及的主要步骤包括:配置FtpConfigurator,创建并启动FtpServer,可能还需要在Tomcat等Web容器中部署。通过理解和利用Apache FtpServer提供的API,我们可以创建一个...