log4j:WARN No appenders could be found for logger (org.docx4j.jaxb.Context).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/io/IOUtils
at org.docx4j.openpackaging.io3.Load3.get(Load3.java:138)
at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:353)
at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:293)
at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:243)
at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:226)
at org.docx4j.openpackaging.packages.WordprocessingMLPackage.load(WordprocessingMLPackage.java:162)
at org.docx4j.Docx4J.load(Docx4J.java:176)
at Doc4JReadDOCX.main(Doc4JReadDOCX.java:11)
您的错误消息试图告诉您需要初始化log4j。通常,您需要告诉它将错误消息打印到控制台或文件中。所以您需要设置一个属性文件,如下所示:
# Root logger option
log4j.rootLogger=DEBUG, stdout
# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
然后,通过读取属性文件创建一个初始化log4j的servlet。类似于这样:
import org.apache.log4j.PropertyConfigurator;
import javax.servlet.http.*;
import com.mysite.*;
public class Log4jInit extends HttpServlet
{
public void init()
{
try{
String prefix = getServletContext().getRealPath("/");
String file = getInitParameter("log4j-init-file");
if(file != null)
{
System.out.println("Log4jInit.init - prefix + file: " + prefix + file);
PropertyConfigurator.configure(prefix + file);
}
}
catch(Exception e){e.printStackTrace();}
}
public void doGet(HttpServletRequest req, HttpServletResponse res){}
}
在web.xml文件中,您需要放置以下内容:
<servlet>
<servlet-name>log4j-init</servlet-name>
<servlet-class>com.mysite.Log4jInit</servlet-class>
<init-param>
<param-name>log4j-init-file</param-name>
<param-value>WEB-INF/properties/log4j_CONSOLE.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>log4j-init</servlet-name>
<url-pattern>/log4j-init/*</url-pattern>
</servlet-mapping>
我要第一次使用GXT图表 我只是从这里得到代码 我的其他GXT小部件正在工作(已添加GXT jar和
我创建了一个NetBeans企业应用程序,它由包装ejb(jar)项目和web(war)项目的ear组成。 我的web项目中有一个servlet,我想在其中使用ejb项目中的一个ejb。
我有一个pycharm项目,大概还有一个Django项目。也许它们是一回事,也许不是——我不确定区别。 总之,在我的settings.py文件中(该文件位于< code>project目录的根目录下,我认为这是我的pycharm项目),我有: 这是否意味着< code>dumpstown是我的项目名称?还是我的pycharm项目名?有什么区别?因为我还有一个名为< code>dumpstownap
在我的spring项目中,我可以像这样用XML定义bean:
问题内容: 我想用Xtend语言编写Java类(仅仅是因为它的简洁性),然后将其编译回Java类,以便在Java项目中使用。就像咖啡脚本。我怎样才能做到这一点? 我尝试像创建新类一样创建Xtend文件,但是出现此错误: 在类路径上找不到必需的库包。 这将禁用智能感知(自动补全)。另外,即使我确实可以正常工作,如何将其编译为Java类? 问题答案: 尝试过同样的事情之后,我可以确认启用Xtend N
问题内容: 在我的Java项目中,我需要使用依赖于 lucene-3.6.2的* neo4j-1.9.3 和 依赖于 lucene-4.4.0的 ElasticSearch 。我知道,如果我想直接使用两个版本的Lucene,可以使用ClassLoader从Lucene加载不同的类。 * 但是问题是我现在不会直接使用lucene的api。有什么方法可以在neo4j的api运行时加载lucene-3.