Hi all,
wie kann ich in einem Maven Projekt in einer JSP page die maven versions nummer verwenden?
Ich habe hier eine JSP page die ein JNLP generiert in dem die versions Nummer des Projektes stehlen soll.
[CODE lang="java" title="JSP Page" highlight="74"]<%@ page session="false" %>
<%@ page contentType="application/x-java-jnlp-file" %>
<%@ page import="java.io.UnsupportedEncodingException" %>
<%@ page import="java.net.URLDecoder" %>
<%@ page import="java.util.Properties" %>
<%@ page import="java.io.FileInputStream" %>
<%@ page import="java.io.IOException" %>
<%@ page import="java.io.FileNotFoundException" %>
<%!/**
/**
* The default codebase for the jnlp file.
*/
public static final String DEFAULT_URL = "codebase=\"http://app-server-1:8888/app-name\"";
public static final String APP_CONTEXT = "/app-name/";
public static final String APP_NAME = "AppName";
public static final String DEFAULT_HOST = "http://app-server-1:8080";
private String getURL(String url) {
String defaultUrl = DEFAULT_URL;
if (null != url) {
try {
String encodedURL = URLDecoder.decode(url, "UTF-8");
defaultUrl = "codebase=\"" + encodedURL + APP_CONTEXT + "\" ";
} catch (UnsupportedEncodingException e) {
System.out.println("error during url encoding " + e);
}
}
return defaultUrl;
}
private String getHost(String url) {
String docBase = DEFAULT_HOST;
if (null != url) {
try {
String encodedURL = URLDecoder.decode(url, "UTF-8");
docBase = encodedURL;
} catch (UnsupportedEncodingException e) {
System.out.println("error during url encoding " + e);
}
}
return docBase;
}%>
<%
String url = request.getRequestURL().substring(0, request.getRequestURL().indexOf(request.getRequestURI()));
String userName = request.getParameter("USERNAME");
String timeStamp = request.getParameter("timestamp");
%>
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" <%=getURL(url)%> >
<information>
<title><%=APP_NAME%></title>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.6+" java-vm-args="-Xmx2048m"/>
<property name="javaws.log4j.debug" value="false"/>
<property name="javaws.log4j.configuration" value="log4j.properties"/>
<property name="javaws.user.language" value="en"/>
<property name="javaws.user.region" value="US"/>
<property name="sun.java2d.d3d" value="false"/>
<property name="sun.awt.noerasebackground" value="true"/>
<jar href="lib/commons-cli-1.4.jar"/>
<jar href="lib/commons-configuration2-2.7.jar"/>
<jar href="lib/commons-lang3-3.9.jar"/>
<jar href="lib/swingx-all-1.6.5-1.jar"/>
<jar href="lib/app-client-1.3-SNAPSHOT.jar" main="true"/>
</resources>
<application-desc main-class="com.example.client.Client">
<argument>-appname</argument>
<argument><%=APP_NAME%></argument>
<argument>-username</argument>
<argument><%=userName%></argument>
<argument>-host</argument>
<argument><%=getHost(url)%></argument>
<argument>-timeStamp</argument>
<argument><%=timeStamp%></argument>
</application-desc>
</jnlp>
[/CODE]
in Zeile 74 gibt es eben die *app-client-1.3-SNAPSHOT.jar* und die "1.3-SNAPSHOT" sollte direkt die version des maven Projekt sein.
Wie kann man das umsetzten?
Sonst muss ich bei der änderung der MVN versions nummer immer auch in das JSP und da auch die version ändern ... und das vergisst man manchmal.
(Der code is bisschen vereinfacht)
wie kann ich in einem Maven Projekt in einer JSP page die maven versions nummer verwenden?
Ich habe hier eine JSP page die ein JNLP generiert in dem die versions Nummer des Projektes stehlen soll.
[CODE lang="java" title="JSP Page" highlight="74"]<%@ page session="false" %>
<%@ page contentType="application/x-java-jnlp-file" %>
<%@ page import="java.io.UnsupportedEncodingException" %>
<%@ page import="java.net.URLDecoder" %>
<%@ page import="java.util.Properties" %>
<%@ page import="java.io.FileInputStream" %>
<%@ page import="java.io.IOException" %>
<%@ page import="java.io.FileNotFoundException" %>
<%!/**
/**
* The default codebase for the jnlp file.
*/
public static final String DEFAULT_URL = "codebase=\"http://app-server-1:8888/app-name\"";
public static final String APP_CONTEXT = "/app-name/";
public static final String APP_NAME = "AppName";
public static final String DEFAULT_HOST = "http://app-server-1:8080";
private String getURL(String url) {
String defaultUrl = DEFAULT_URL;
if (null != url) {
try {
String encodedURL = URLDecoder.decode(url, "UTF-8");
defaultUrl = "codebase=\"" + encodedURL + APP_CONTEXT + "\" ";
} catch (UnsupportedEncodingException e) {
System.out.println("error during url encoding " + e);
}
}
return defaultUrl;
}
private String getHost(String url) {
String docBase = DEFAULT_HOST;
if (null != url) {
try {
String encodedURL = URLDecoder.decode(url, "UTF-8");
docBase = encodedURL;
} catch (UnsupportedEncodingException e) {
System.out.println("error during url encoding " + e);
}
}
return docBase;
}%>
<%
String url = request.getRequestURL().substring(0, request.getRequestURL().indexOf(request.getRequestURI()));
String userName = request.getParameter("USERNAME");
String timeStamp = request.getParameter("timestamp");
%>
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" <%=getURL(url)%> >
<information>
<title><%=APP_NAME%></title>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.6+" java-vm-args="-Xmx2048m"/>
<property name="javaws.log4j.debug" value="false"/>
<property name="javaws.log4j.configuration" value="log4j.properties"/>
<property name="javaws.user.language" value="en"/>
<property name="javaws.user.region" value="US"/>
<property name="sun.java2d.d3d" value="false"/>
<property name="sun.awt.noerasebackground" value="true"/>
<jar href="lib/commons-cli-1.4.jar"/>
<jar href="lib/commons-configuration2-2.7.jar"/>
<jar href="lib/commons-lang3-3.9.jar"/>
<jar href="lib/swingx-all-1.6.5-1.jar"/>
<jar href="lib/app-client-1.3-SNAPSHOT.jar" main="true"/>
</resources>
<application-desc main-class="com.example.client.Client">
<argument>-appname</argument>
<argument><%=APP_NAME%></argument>
<argument>-username</argument>
<argument><%=userName%></argument>
<argument>-host</argument>
<argument><%=getHost(url)%></argument>
<argument>-timeStamp</argument>
<argument><%=timeStamp%></argument>
</application-desc>
</jnlp>
[/CODE]
in Zeile 74 gibt es eben die *app-client-1.3-SNAPSHOT.jar* und die "1.3-SNAPSHOT" sollte direkt die version des maven Projekt sein.
Wie kann man das umsetzten?
Sonst muss ich bei der änderung der MVN versions nummer immer auch in das JSP und da auch die version ändern ... und das vergisst man manchmal.
(Der code is bisschen vereinfacht)