Looking at 
https://github.com/gwtproject/gwt/blob/4d36d55d26aabc12e4429faf0603c539a54a13cd/dev/core/src/com/google/gwt/dev/js/rhino/TokenStream.java#L1251-L1265
 which 
parses the regexp, it looks like you'd have to escape the '/' so it's not 
mistaken for the end of the regexp:
from:
var reg = /^[\\w+/_-]+[=]{0,2}$/

to
var reg = /^[\\w+\/_-]+[=]{0,2}$/



(btw, not sure you really want \\w here)

On Monday, July 29, 2019 at 9:57:09 AM UTC+2, Qin Binghua wrote:
>
> Hello everyone,
>
>
> To simplify the description of the problem, I use an official example to 
> illustrate the problem。
>
>
>    1. Follow the GWT Getting Started 
>    <http://www.gwtproject.org/gettingstarted.html#create> to create a GWT 
>    project 
>    
>    webAppCreator -out MyWebApp com.mycompany.mywebapp.MyWebApp
>    
>    2. Define a JSNI method with java regular expression and call it  in 
>    the *EntryPoint* class com.mycompany.mywebapp.client.MyWebApp
>    
>        public static native void methodWithRegularExpression()/*-{
>            var reg = /^[\\w+/_-]+[=]{0,2}$/
>            console.log("reg:" + reg)
>        }-*/;
>    
>        /**
>         * This is the entry point method.
>         */
>        public void onModuleLoad() {
>            methodWithRegularExpression();
>        }
>    
>    3. Compile the project with the following Ant task(gwtc)
>    
>    
>       <!-- Arguments to gwtc and devmode targets -->
>      <property name="gwt.args" value="" />
>    
>      <!-- Configure path to GWT SDK -->
>      <property name="gwt.sdk" location="G:/Google/gwt-2.8.2" />
>    
>      <path id="project.class.path">
>        <fileset dir="lib" includes="**/*.jar"/>
>        <pathelement location="war/WEB-INF/classes"/>
>        <pathelement location="${gwt.sdk}/gwt-user.jar"/>
>        <pathelement location="${gwt.sdk}/gwt-dev.jar"/>
>        <pathelement location="${gwt.sdk}/validation-api-1.0.0.GA.jar"/>
>        <pathelement 
>    location="${gwt.sdk}/validation-api-1.0.0.GA-sources.jar"/>
>        <fileset dir="war/WEB-INF/lib" includes="**/*.jar"/>
>        <!-- Add any additional non-server libs (such as JUnit) here -->
>      </path>
>    
>      <target name="libs" description="Copy libs to WEB-INF/lib">
>        <mkdir dir="war/WEB-INF/lib" />
>        <copy todir="war/WEB-INF/lib" file="${gwt.sdk}/gwt-servlet.jar" />
>        <copy todir="war/WEB-INF/lib" 
>    file="${gwt.sdk}/gwt-servlet-deps.jar" />
>        <!-- Add any additional server libs that need to be copied -->
>      </target>
>    
>      <target name="javac" depends="libs" description="Compile java source 
>    to bytecode">
>        <mkdir dir="war/WEB-INF/classes"/>
>        <javac srcdir="src" includes="**" encoding="utf-8"
>            destdir="war/WEB-INF/classes"
>            source="1.7" target="1.7" nowarn="true"
>            debug="true" debuglevel="lines,vars,source">
>          <classpath refid="project.class.path"/>
>        </javac>
>        <copy todir="war/WEB-INF/classes">
>          <fileset dir="src" excludes="**/*.java"/>
>        </copy>
>      </target>
>    
>      <target name="gwtc" depends="javac" description="GWT compile to 
>    JavaScript (production mode)">
>        <java failonerror="true" fork="true" 
>    classname="com.google.gwt.dev.Compiler" maxmemory="512m">
>          <classpath>
>            <pathelement location="src"/>
>            <path refid="project.class.path"/>
>          </classpath>
>          <arg line="-war"/>
>          <arg value="war"/>
>          <!-- Additional arguments like -style PRETTY or -logLevel DEBUG 
>    -->
>          <arg line="${gwt.args}"/>
>          <arg line="-strict"/>
>          <arg value="com.mycompany.mywebapp.MyWebApp"/>
>        </java>
>      </target>
>    
>    4. Build failed
>    
>    javac:
>        [javac] G:\Google\MyWebApp\build.xml:34: warning: 
>    'includeantruntime' was not set, defaulting to build.sysclasspath=last; 
> set 
>    to false for repeatable builds
>        [javac] Compiling 1 source file to 
>    G:\Google\MyWebApp\war\WEB-INF\classes
>    
>    gwtc:
>         [java] 七月 29, 2019 10:31:07 上午 java.util.prefs.WindowsPreferences 
>    <init>
>         [java] 警告: Could not open/create prefs root node 
>    Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) 
>    returned error code 5.
>         [java] Compiling module com.mycompany.mywebapp.MyWebApp
>         [java]    Tracing compile failure path for type 
>    'com.mycompany.mywebapp.client.MyWebApp'
>         [java]       [ERROR] Errors in 
>    'file:/G:/Google/MyWebApp/src/com/mycompany/mywebapp/client/MyWebApp.java'
>         [java]          [ERROR] Line 44: missing ; before statement
>         [java] >         var reg = /^[\\w+/_-]+[=]{0,2}$/
>         [java] > ---------------------------^
>         [java]    Finding entry point classes
>         [java]       Tracing compile failure path for type 
>    'com.mycompany.mywebapp.client.MyWebApp'
>         [java]          [ERROR] Errors in 
>    'file:/G:/Google/MyWebApp/src/com/mycompany/mywebapp/client/MyWebApp.java'
>         [java]             [ERROR] Line 44: missing ; before statement
>         [java] >         var reg = /^[\\w+/_-]+[=]{0,2}$/
>         [java] > ---------------------------^
>         [java]       [ERROR] Hint: Check the inheritance chain from your 
>    module; it may not be inheriting a required module or a module may not be 
>    adding its source path entries properly
>    
>    BUILD FAILED
>    
>    
> *More information:*
>
> ant version:
> Apache Ant(TM) version 1.9.14 compiled on March 12 2019
>
> GWT SDK version:
> 2.8.2
>
> In the end, does anyone know how to solve this problem? 
>
>
>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/google-web-toolkit/a7751b4a-3c92-44bd-b379-e255f27db3a6%40googlegroups.com.

Reply via email to