2015-11-19 93 views
2

我嘗試執行mvn package爲我的項目,但總是得到錯誤。如何修復maven錯誤:java.lang.NullPointerException:charsetName whean

在我的pom.xml我添加跟着屬性:

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <project.resources.sourceEncoding>UTF-8</project.resources.sourceEncoding> 
</properties> 
... 
<plugin> 
    <artifactId>maven-compiler-plugin</artifactId> 
     <configuration> 
      <outputEncoding>UTF-8</outputEncoding> 
      <argLine>-Dfile.encoding=UTF-8</argLine> 
      <encoding>${project.build.sourceEncoding}</encoding> 
      <source>1.5</source> 
      <target>1.5</target> 
     </configuration> 
     <version>3.0</version> 
</plugin> 

和運行>mvn package -Dfile.encoding=UTF-8,但沒有成功:

java.lang.NullPointerException: charsetName 
    at java.io.OutputStreamWriter.<init>(OutputStreamWriter.java:99) 
    at org.apache.jasper.compiler.JDTJavaCompiler.getJavaWriter(JDTJavaCompiler.java:120) 
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:146) 
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:362) 
    at org.apache.jasper.JspC.processFile(JspC.java:1137) 
    at org.apache.jasper.JspC.execute(JspC.java:1306) 
    at com.reucon.maven.plugin.openfire.jspc.JspcMojo.compile(JspcMojo.java:279) 
    at com.reucon.maven.plugin.openfire.jspc.JspcMojo.execute(JspcMojo.java:196) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) 
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106) 
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:862) 
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:197) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:497) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) 

錯誤拋出這個代碼:

public OutputStreamWriter(OutputStream out, String charsetName) throws UnsupportedEncodingException { 
    super(out); 
    if (charsetName == null) 
     throw new NullPointerException("charsetName"); 
    se = StreamEncoder.forOutputStreamWriter(out, this, charsetName); 
} 

幫助我請修復錯誤。我已經失去了5個小時。

這個問題不重複it,因爲我查詢了maven。

感謝您的提前!在你的pom.xml

+0

請修正天馬稱號。謝謝。 – slesh

+0

另外我嘗試添加<%@ page language =「java」contentType =「text/html; charset = UTF-8」pageEncoding =「UTF-8」%>並且也沒有成功。 – slesh

+0

另外我嘗試在其他IDE(IntellJIDEA)中執行此操作,並且也失敗。 – slesh

回答

0

認沽javaEncoding元素

<plugin> 
    <groupId>com.reucon.maven.plugins</groupId> 
    <artifactId>maven-openfire-plugin</artifactId> 
    <extensions>true</extensions> 
    <configuration> 
     <javaEncoding>UTF-8</javaEncoding> 
    </configuration> 
    <version>1.0.2-SNAPSHOT</version> 
    </plugin> 
+0

嗨,謝謝你的回答,但問題實際上現在不是 – slesh