2013-07-21 18 views
5

ı yazdığınızda görüyorum komut istemindeMaven varsayılan yerel aynı değildir

mvn --version 

:

Standart Yerel: tr

Ancak benim Sistem Yerel tr_TR

olduğunu

Java SE Projesi'ni maven olmadan başlattığımda Locale.getDefault() işlevini çalıştırın. Tr_TR iyi döndürür. Ama bir Maven projesi çalıştırdığımda ve sonra Locale.getDefault(), beğenmediğim en_US değerini döndürür.

Maven'e varsayılan yerel ayarımın TR olduğunu nasıl söyleyebilirim?

cevap

9

Şu komutu

set MAVEN_OPTS= -Duser.language=tr 

Neyse iyi çözüm POM dosyasında bu bilgileri koymak ve asla komut satırı ile kullanabilirsiniz. Özellikle sen Maven-Surefire-Plugin

<plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <version>2.9</version> 
     <configuration> 
      <systemPropertyVariables> 
       <user.language>tr</user.language> 
       <user.region>TR</user.region> 
      </systemPropertyVariables> 
     </configuration> 
    </plugin> 

yapılandırmasına uğraşmak zorunda İkinci Soru: Ben, benim yerelinde bir web uygulaması çalıştırıyorum olabilir ama destekliyorsa başka soru alman diyelim , ingilizce .. Ve sisteminizin yerel değeri DE. Sistem yerel ayarınızı isteğinizden alabilir miyim? Ya da belki tarayıcınız tarafından tercih ettiğiniz dil?

Bu bilgileri isteğinize göre yapabilirsiniz. İşte bir sunucuda örnek.

import java.io.*; 
import javax.servlet.*; 
import javax.servlet.http.*; 
import java.util.Locale; 

public class GetLocale extends HttpServlet{ 

    public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException 
    { 
     Locale locale = request.getLocale(); 
     String language = locale.getLanguage(); 
     String country = locale.getCountry(); 

     response.setContentType("text/html"); 
     PrintWriter out = response.getWriter(); 

     out.println(language + ":" + country); 
    } 
} 
+0

Peki ya projeyi başka bir Locale ile başka bir bilgisayara dağıtırsam? Maven’e OS Locale’i doğrudan kullanması için bir yol yok mu? –

+0

Bazı aramalar yapmam gerekiyor. Bu problemle hiç karşılaşmadım. – Oscerd

+0

Ben googled ettik ama bilgileri bulamıyorum. Maven'e OS yerel ayarını doğrudan kullanmasını söylemenin bir yolu olmadığını düşünüyorum. – Oscerd