gwt+ant实践笔记----宋轶聪

gwt_ant_build脚本研习 gwt_ant_build脚本研习 目录 build.xml源文件 构建工程war的分析 自定义的build工程文件 立即下载

build.xml源文件

构建工程war的分析

自定义的build工程文件

 

 

 

 

 

 

 

 


构建工程war的分析

编译打包的充分必要条件:所有路径均以build文件所在目录为根的相对路径

1、有build.xml文件,名称任意

2、在build所在目录创建一个用于打包的war目录

3、在这个war目录下创建WEB-INF/lib目录

    [mkdir] Created dir: E:/work/javaenv/eclipse/workspace/Showcase/war/WEB-INF/lib

4、在这个war目录下创建/WEB-INF/classes目录

     [mkdir] Created dir: E:/work/javaenv/eclipse/workspace/Showcase/war/WEB-INF/classes

5、将所需的gwt的几个jar包复制到WEB-INF/lib目录

    [copy] Copying 1 file to E:/work/javaenv/eclipse/workspace/Showcase/war/WEB-INF/lib

6、配置编译所需的classpath

<path id="project.class.path">

    <pathelement location="war/WEB-INF/classes"/>

    <pathelement location="${gwt.sdk}/gwt-user.jar"/>

    <fileset dir="${gwt.sdk}" includes="gwt-dev*.jar"/>

    <fileset dir="war/WEB-INF/lib" includes="**/*.jar"/>

  </path>

7、编译,将java编译为class并将class复制到目标路径

8、编译,将class编译为js

9、打war包

10、清除临时文件

 


自定义的build工程文件            红色字体要根据不同工程而变化

<?xml version="1.0" encoding="utf-8" ?>

<!-- initalization -->

<project name="Showcase" default="flow" basedir=".">

  <property name="gwt.args" value="" />

  <property name="gwt.sdk" location="." /><!-- 几个jar相对于build文件的相对路径-->

  <path id="project.class.path">                                 <!-- 注意这里的classpath是先定义,后面才创建   这一部分不用改-->

    <pathelement location="war/WEB-INF/classes"/>

    <pathelement location="${gwt.sdk}/gwt-user.jar"/>

    <fileset dir="${gwt.sdk}" includes="gwt-dev*.jar"/>

    <fileset dir="war/WEB-INF/lib" includes="**/*.jar"/>

  </path>

<!-- _________________main flow__________________________ -->

<target name= "flow" depends="prepare,javac,gwtc,war,clean"/>

<!-- _________________body begin__________________________ -->

<!-- prepare -->

  <target name="prepare">

    <mkdir dir="war/WEB-INF/lib" />

    <mkdir dir="war/WEB-INF/classes"/>

    <copy todir="war/WEB-INF/lib" file="${gwt.sdk}/gwt-servlet.jar" />

  </target>

<!-- compile java to class -->

  <target name="javac" depends="prepare"  >

    <javac srcdir="src" includes="**" encoding="utf-8"

        destdir="war/WEB-INF/classes"

        source="1.6" target="1.6" 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>

<!-- compile class to js -->

  <target name="gwtc" depends="javac" >

    <java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler">

      <classpath>

        <pathelement location="src"/>

        <path refid="project.class.path"/>

      </classpath>

  <jvmarg value="-Xmx256M"/>

      <arg line="${gwt.args}"/>

      <arg value="com.google.gwt.sample.showcase.Showcase"/><!-- 入口程序-->

    </java>

  </target>

<!-- war -->

  <target name="war" depends="gwtc" >

    <zip destfile="Showcase.war" basedir="war"/><!--打的war包名和war的目录-->

  </target>

<!-- clean -->

  <target name="clean" >

    <delete dir="war/WEB-INF/classes" failonerror="false" />

    <delete dir="war/showcase" failonerror="false" />

  </target>

<!-- _________________body end__________________________ -->

</project>

 


build.xml源文件

 

<!-- 标准定义 -->

<?xml version="1.0" encoding="utf-8" ?>

<!-- 工程名和缺省任务 -->

<project name="Showcase" default="build" basedir=".">

  <!-- 指定gwt执行参数-->

  <property name="gwt.args" value="" />

  <!-- 指定GWT的SDK路径 -->

  <property name="gwt.sdk" location="../.." />

 

  <!-- -&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;1、准备环境变量-&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash; -->

  <!-- 将lib复制到WEB-INF/lib -->

  <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" />

    <!-- Add any additional server libs that need to be copied -->

  </target>

  <!-- -&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;2、编译java到class-&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash; -->

  <target name="javac" depends="libs" description="Compile java source">

    <mkdir dir="war/WEB-INF/classes"/>

    <javac srcdir="src" includes="**" encoding="utf-8"

        destdir="war/WEB-INF/classes"

        source="1.5" target="1.5" 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>

  <!-- -&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;3、设置classpath-&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash; -->

  <path id="project.class.path">

    <pathelement location="war/WEB-INF/classes"/><!-- 将编译后产生的类的路径加入classpath -->>

    <pathelement location="${gwt.sdk}/gwt-user.jar"/>

    <fileset dir="${gwt.sdk}" includes="gwt-dev*.jar"/>

    <!-- Add any additional non-server libs (such as JUnit) -->

    <fileset dir="war/WEB-INF/lib" includes="**/*.jar"/>

  </path>

  <!-- -&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;4、将gwt编译成js-&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash; -->

<!-- GWT编译到JavaScript||初始化gwt环境,并指定工程入口程序    -->

  <target name="gwtc" depends="javac" description="GWT compile to JavaScript">

    <java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler">

      <classpath>

        <pathelement location="src"/>

        <path refid="project.class.path"/>

      </classpath>

      <!-- add jvmarg -Xss16M or similar if you see a StackOverflowError -->

      <jvmarg value="-Xmx256M"/>

      <!-- Additional arguments like -style PRETTY or -logLevel DEBUG -->

      <arg line="${gwt.args}"/>

      <arg value="com.google.gwt.sample.showcase.Showcase"/>

    </java>

  </target>

  

 <!-- -----------------------------下面的开发时用-------------------------------------------- -->

<!-- 运行开发模式 -->

  <target name="devmode" depends="javac" description="Run development mode">

    <java failonerror="true" fork="true" classname="com.google.gwt.dev.DevMode">

      <classpath>

        <pathelement location="src"/>

        <path refid="project.class.path"/>

      </classpath>

      <jvmarg value="-Xmx256M"/>

      <arg value="-startupUrl"/>

      <arg value="Showcase.html"/>

      <!-- Additional arguments like -style PRETTY or -logLevel DEBUG -->

      <arg line="${gwt.args}"/>

      <arg value="com.google.gwt.sample.showcase.Showcase"/>

    </java>

  </target>

 <!-- -----------------------------下面的开发时用-------------------------------------------- -->

  <target name="eclipse.generate" depends="libs" description="Generate eclipse project">

    <java failonerror="true" fork="true" classname="com.google.gwt.user.tools.WebAppCreator">

      <classpath>

        <path refid="project.class.path"/>

      </classpath>

      <arg value="-XonlyEclipse"/>

      <arg value="-ignore"/>

      <arg value="com.google.gwt.sample.showcase.Showcase"/>

    </java>

  </target>

<!--

Test targets suppressed because -junit argument was not specified when running webAppCreator.

  <target name="javac.tests" depends="javac" description="Compiles test code">

    <javac srcdir="test" includes="**" encoding="utf-8"

      source="1.5" target="1.5" nowarn="true"

      debug="true" debuglevel="lines,vars,source">

      <classpath location="path_to_the_junit_jar"/>

      <classpath refid="project.class.path"/>

    </javac>

  </target>

  

  <target name="test.dev" depends="javac.tests" description="Run development mode tests">

    <mkdir dir="reports/htmlunit.dev" />

    <junit fork="yes" printsummary="yes" haltonfailure="yes">

      <jvmarg line="-Xmx256m" />

      <sysproperty key="gwt.args" value="-standardsMode -logLevel WARN" />

      <sysproperty key="java.awt.headless" value="true" />

      <classpath>

        <pathelement location="src" />

        <pathelement location="test" />

        <path refid="project.class.path" />

        <pathelement location="path_to_the_junit_jar" />

      </classpath>

      <batchtest todir="reports/htmlunit.dev" >

        <fileset dir="test" >

          <include name="**/*Test.java" />

        </fileset>

      </batchtest>

      <formatter type="plain" />

      <formatter type="xml" />

    </junit>

  </target>

  <target name="test.prod" depends="javac.tests" description="Run production mode tests">

    <mkdir dir="reports/htmlunit.prod" />

    <junit fork="yes" printsummary="yes" haltonfailure="yes">

      <jvmarg line="-Xmx256m" />

      <sysproperty key="gwt.args" value="-prod -standardsMode -logLevel WARN -standardsMode -out www-test" />

      <sysproperty key="java.awt.headless" value="true" />

      <classpath>

        <pathelement location="src" />

        <pathelement location="test" />

        <path refid="project.class.path" />

        <pathelement location="path_to_the_junit_jar" />

      </classpath>

      <batchtest todir="reports/htmlunit.prod" >

        <fileset dir="test" >

          <include name="**/*Test.java" />

        </fileset>

      </batchtest>

      <formatter type="plain" />

      <formatter type="xml" />

    </junit>

  </target>

  <target name="test" description="Run development and production mode tests">

    <antcall target="test.dev" />

    <antcall target="test.prod" />

  </target>

-->

<!-- 下面这项不推荐 -->

  <target name="hosted" depends="devmode" description="Run development mode (NOTE: the 'hosted' target is deprecated)" />

 <!-- -&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;5、创建war包-&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash; -->

<!-- 构建这个工程 -->

  <target name="build" depends="gwtc" description="Build this project" />

  <target name="war" depends="build" description="Create a war file">

    <zip destfile="Showcase.war" basedir="war"/>

  </target>

 <!-- -&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;6、删除打包的过程目录和文件-&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash; -->

  <target name="clean" description="Cleans this project">

    <delete dir="war/WEB-INF/classes" failonerror="false" />

    <delete dir="war/showcase" failonerror="false" />

  </target>

</project>


<?xml version="1.0" encoding="UTF-8"?>

<!-- 工程名和缺省任务 -->

<project name="Showcase" default="dist" basedir=".">

  <!-- 指定gwt执行参数-->

  <property name="gwt.args" value="" />

  <!-- 指定GWT的SDK路径 -->

  <property name="gwt.sdk" value="../.." />

  <!-- 指定pro_path的路径 -->

  <property name="pro_path" value="E:/work/javaenv/eclipse/workspace/Showcase" />

  <!-- 指定tmp_path的路径 -->

  <property name="tmp_path" value="E:/work/javaenv/eclipse/workspace/deployment" />

  <!-- -&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;1、准备环境变量&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash; -->

  <target name="libs" >

    <mkdir dir="${tmp_path}/war/WEB-INF/lib" />

    <copy todir="${tmp_path}/war/WEB-INF/lib">

      <fileset dir="${pro_path}/src">

              <include name="**" />

              <include name="com/**" />

          </fileset>

     </copy>

   </target>

  <!-- -&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;2、编译java到class-&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash; -->

  <target name="javac" >

    <mkdir dir="${tmp_path}/war/WEB-INF/classes"/>

    <javac srcdir="src" includes="**" encoding="utf-8"

        destdir="${tmp_path}/war/WEB-INF/classes"

        source="1.6" target="1.6" 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>

  <!-- &emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;3、设置classpath&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash; -->

  <path id="project.class.path">

    <pathelement location="${tmp_path}/war/WEB-INF/classes"/><!-- 将编译后产生的类的路径加入classpath -->

    <pathelement location="${tmp_path}/war/WEB-INF/lib/gwt-user.jar"/>

    <pathelement location="${tmp_path}/war/WEB-INF/lib/gwt-dev.jar"/>

    <pathelement location="${tmp_path}/war/WEB-INF/lib/gwt-servlet.jar"/>

    

    <fileset dir="${tmp_path}/war/WEB-INF/lib" includes="**/*.jar"/>

  </path>

  <!-- -&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;4、将gwt编译成js-&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash; -->

  <target name="gwtc" >

    <java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler">

      <classpath>

        <pathelement location="src"/>

        <path refid="project.class.path"/>

      </classpath>

      <jvmarg value="-Xmx256M"/>

      <arg line="${gwt.args}"/>

      <arg value="com.google.gwt.sample.showcase.Showcase"/>

    </java>

  </target>

 <!-- -&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;5、创建war包-&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash; -->

 

  <target name="war" depends="libs,javac,gwtc">

    <zip destfile="Showcase.war" basedir="war"/>

  </target>

 <!-- &emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;6、删除打包的过程目录和文件&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash;&emdash; -->

<target name="copywar" depends="war" >

<copy todir="${tmp_path}" overwrite="yes">

<fileset dir="${tmp_path}/war">

</fileset>

</copy>

</target>

 

<!-- 执行打包后,清空目录 -->

<target name="dist" depends="clean,copywar">

<antcall target="clean" />

</target>

 

<!-- 清空内容 -->

<target name="clean">

<delete dir="${tmp_path}/**" />

</target>

</project>


 

 

 

ant fileset 用法

fileset用来定义目录位置及操作适用于该目录下的那些子目录或文件

1. 拷贝单个文件到指定目录下。

例:<copy todir="${basedir}/new" file="${basedir}/old/old1.txt1">

将${basedir}/old/old.txt文件拷贝到${basedir}/new下

2. 拷贝一批文件到指定目录下,例:<copy todir="${basedir}/new">

           <fileset dir="${basedir}/old">

              <include name="old1.txt" />

              <include name="old2.txt" />

              <exclude name="old8.txt" />

          </fileset>

       </copy>

      这里fileset定义的是原文件的组成形式,<include/>子属性表示包括,<exclude/>子属性表示排除,很简单,通过他们组合实现多文件的筛选,当然我这个例子用得很傻。比如

                <include name="appgen/**"/>

                <include name="ibatis/**"/>

                <exclude name="**/*.log"/>

      拷贝appget目录和ibatis目录下除了.log文件以外的其它所有文件和子目录。

      可以把<fileset/>简写成<fileset dir="${basedir}/old" includes="old1.txt,old2.txt" />,includes可以理解成include的复数形式,包含多个文件时用逗号隔开,excludes也一样。

3. 拷贝一个目录到指定目录下

例:<copy todir="${basedir}/new">

           <fileset dir="${basedir}/old">

             <include name="appgen" />

             <include name="appgen/" />

             <include name=appgen/**" />

             <include name="appgen/***" />

           </fileset>

       </copy>

      同样使用<fileset/>属性,name指定目录名,不过这里要分两种情况,用<include/>子属性和不用<include/>子属性.

      若使用<include/>, 又要分三种情况

          若是”r;appgen”,则只会拷贝名为appgen的空目录过去,它里面的文件和子目录则不会拷贝。

          若是”r;appgen/”,或”r;appgen/**”,则会把整个appgen目录拷贝过去,包括里面的文件和子目录。

          若是”r;appgen/*”,则只会把该目录和该目录下第一级子目录的所有东西拷贝过去,而不会拷贝第二级和第二级以下的。注:”r;appgen/*”这儿是一个*号,*号若大于两个,也跟一个*号是同样效果。比如”r;appgen/*”和”r;appgen/****”都只拷贝appgen目录下第一级子目录。

注:若appeng这个目录本身就是个空目录(就是不存在),无论怎么写,这个空目录都不会被拷贝。也就是说,copy操作不会产生创建空目录的作用,要想创建空目录,只有用mkdir。

      若不使用任何<include>属性,如

           <fileset dir="${basedir}/old">

           </fileset>

      则会拷贝${basedir}/old下的所有文件和子目录。

注:使用<exclude/>排除目录时,目录名必须写成”r;appgen/”或”r;appgen/**”形式,否则不会生效。

      以上是三种拷贝到目录的种类,注意如果计算机中没有todir指定的路径,ant将会自动创建这个路径。

4. 拷贝单个的文件:

〈copy tofile="old.txt" file="new.txt" /〉就这么简单就行了。

当然也可以写成

  <copy tofile="${basedir}/new/new.txt">

     <fileset dir="${basedir}/old" includes="old.txt" />

  </copy>

      这里includes就只能写一个文件,不能写上多个文件,因为不能将多个文件复制到一个文件中去,所以这样麻烦的写法是没有意义的。?这个地方还有待去验证一下.

      复制肯定还要涉及到同名覆盖的问题,ant在copy类的API中说明:Files are only copied if the source file is newer than the destination file,这里的newer是指文件的修改时间,即使你在修改时文件内容没有任何变化,只是导致修改时间变了,ant同样会覆盖同名文件,也就是说,ant不会检查文件内容。

      对于是复制目录的情况,由于目录没有修改时间,ant还是通过检查目录内文件的修改时间来决定是否覆盖的,若目录内某文件修改时间有变化,则会覆盖这个文件,而不是整个目录。

如果要强行覆盖,<copy/>有个overwrite属性,默认为false,改成true就行了。

Ant真是太方便了,以前都没注意到它。功能很强大,能创建数据库,配置服务器,部署发布应用&ldots;&ldots;只需要写好build.xml文件,剩下的就交给ant来”r;安装”你的WEB应用了。

以上就这些:

您也可以去apache ant项目里去看一下 fileset的用法:

FileSet Type

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/duming115/archive/2007/12/04/1915638.aspx

 

 

 

 

 

 

################################################################################################3333

delete 任务

删除文件:

<delete file="war/WEB-INF/lib/*" failonerror="false" />

删除目录:

<delete dir ="war/WEB-INF/lib/" failonerror="false" />

 

GWT使用样例 立即下载

相关推荐

AD9361 Fast Lock实战:Python脚本自动生成Profile寄存器配置(附完整代码)

本文详细介绍了利用Python脚本实现AD9361 Fast Lock Profile寄存器自动化配置的实战方案。通过解析频率合成公式、VCO约束及查表机制,脚本能根据目标频率一键生成完整的16进制寄存器序列,大幅提升射频系统开发中多频点切换的效率和准确性,并支持CSV、JSON、C头文件等多种输出格式,便于与FPGA/嵌入式系统集成。

weixin_29194693的博客 475

Description Resource Path Location Type The superclass "javax.servlet.http.HttpServlet" was not foun

Description Resource Path Location Type The superclass “javax.servlet.http.HttpServlet” was not found on the Java Build Path index.jsp /SpringBootDemo/src/main/webapp line 1 JSP Problem 学SpringBoot建第一...

庆喜 3637

AI智能体Codex实战:外贸客户开发自动化,85家精准客户深度分析

如果你在外贸行业,特别是工业品领域,一定遇到过这样的困境:想开发海外客户,但不知道从何下手。Google搜索出来的要么是B2B平台上的老面孔,要么是信息残缺的过时黄页。手动筛选、整理、验证,一个客户信息就要花上半小时,效率低得让人抓狂。 更头疼的是,好不容易找到一些公司名称,却不知道他们的采购决策人是谁、公司规模如何、业务是否匹配。传统的客户开发就像大海捞针,投入大量时间成本,回报却充满不确定性。 今天要介绍的这个工具,可能会彻底改变你的工作流。它不是另一个CRM软件,而是一个基于AI的智能客户开发与情报分

weixin_29054399的博客 347

Ant安装并调试gwt程序流程

caolei_kunming的专栏 850

V-REP(Cooprliesim EDU)自学笔记 实现UR5机械臂末端按轨迹移动

V-REP(Cooprliesim EDU)自学笔记 实现UR5机械臂末端按轨迹移动

xu_white的博客 7583

GitLab教程(四):分支(branch)和合并(merge)

命令进行合并时,Git具备一定的智能自动化处理能力:如果一个分支仅修改了文件A,而另一个分支独立地修改了文件B,Git能够无缝整合这些更改,自动完成合并过程——即最终的代码既包含了对A文件的修改也包含了对B文件的修改。同样地,若两个分支虽然都修改了同一个文件,但涉及的是文件中互不重叠的部分,比如一个改动发生在第一行,另一个则在第二行,Git同样能巧妙地自动合并这些非冲突性修改。获取了远程分支的最新变化,或者当你想要合并本地的一个分支到当前分支时,就会用到这个命令。,默认会尝试合并远程分支到当前分支。

TracyCoder的博客 7886

Ant构建GWT 项目

                                                                                                                                                                  -->    -->          

crycz的专栏 1280

IntelliJ IDEA 2025.1 + Gradle 镜像配置避坑指南:解决依赖下载慢的终极方案

本文针对IntelliJ IDEA 2025.1开发环境中Gradle依赖下载缓慢的问题,提供了详细的镜像配置避坑指南。通过解析Gradle依赖解析机制,重点指导如何正确配置阿里云等国内镜像仓库,并分享验证配置生效、排查常见错误及高级优化技巧,旨在彻底解决依赖下载难题,提升开发效率。

weixin_28835551的博客 532

将Gwt应用程序部署到Tomcat中

      之前的几篇日志大体介绍了一下Gwt,下面进一步了解Gwt在Web应用的的部署,通过Google提供的Eclipse插件创建好的Web应用部署到Tomcat中,创建GWT应用的过程这里不再赘述(前面的日志已经配有截图详细说明),现在直接将应用部署到Tomcat。   在创建好的应用上鼠标右键 -&gt; Run As.. -&gt; Web Application -&gt; 打开D...

一朝身陷IT海,从此回头没有岸! 253

10、现代统计方法:趋势面分析、薄板样条与广义线性模型

本文系统介绍了空间预测建模中的三种现代统计方法:趋势面分析(TSA)、薄板样条(TPS)和广义线性模型(GLM)。详细阐述了每种方法的原理、实现步骤、参数优化与预测评估,并结合R语言代码示例展示了在实际数据中的应用。文章还提供了方法对比流程图与土壤湿度预测案例,帮助读者根据数据特征选择合适模型,提升空间预测的准确性与可靠性。

play7的博客 157

【WRF数据准备】土地利用数据-MODIS MCD12Q1数据下载及制备

【WRF数据准备】MODIS静态地理数据下载及制备

WW、forever的博客 3413

使用ant+svn自动编译打包gwt程序

<br />1.前提条件<br />已经安装了JDK6.0;<br />2.环境准备<br />1)  下载gwt-windows-1.7.1;解压缩到d:/gwt目录下待用;<br />2)  下载svnant-1.3.0;解压缩到d:/ svnant-1.3.0目录下待用;<br />3)  下载apache-ant-1.8.1-bin.zip解压缩到d:/ ant-1.8.1目录下待用;<br />4)  将d:/ svnant-1.3.0/lib下的jar包全部复制到d:/ ant-1.8.1/li

haven的专栏 1171

基于simulink的电动汽车电机驱动系统IGBT开路故障检测

本文介绍了基于Simulink的电动汽车电机驱动系统IGBT开路故障检测方法。通过搭建永磁同步电机(PMSM)驱动系统模型,实现IGBT开路故障注入,并设计基于电流平均值与PWM逻辑比较的故障检测算法。系统可实时采集三相电流信号,通过MATLAB Function模块实现故障诊断,当检测到PWM信号与电流不匹配时输出故障报警。仿真结果显示,系统能在2.05秒内准确识别A相上管开路故障,并通过Scope和XYGraph直观展示故障特征。该方法为电动汽车电力电子系统故障诊断与容错控制提供了实用解决方案,后续可扩

xiaoheshang_123的博客 150

ant部署GWT项目

使用ant部署GWT应用的Bulid.xml文件内容,其中GWT库的路径需要修改。 ...

jiasudu 257

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

javac 编译异常总结

1 error: package com.sun.image.codec.jpeg does not exist 使用Ant编译类时,当类中引用了com.sun.image.*下的类时会报错,找不到类 【解决办法】 将%JAVA_HOME%/jre/rt.jar拷贝到%ANT_HOME%/lib或其他文件夹,然后在javac时指定 eg: <javac destdir="targe...

weixin_30536513的博客 243

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

smartgwt (A)

  smartgwt一个比较陌生的名字,却充满了神奇,模糊了web应用和windows应用的界限。很多人听过gwt,是的,用java写Ajax,smartgwt不仅多了一层华丽的包装,而且将gwt发挥到了极致!三者结合所产生的优势:跨操作系统、跨浏览器(主流的)、异步的实现web应用程序。  smartgwt很大的一个特点是,即使你不会美工,也能将页面处理的很得体,很美观(限网络应用程序,不需

catPan的专栏 4289

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

打印 DEVMODE 结构体 简述

 DEVMODE结构具有如下形式:typedef struct _devicemode{ /* dvmd */  TCHAR  dmDeviceName[32];  WORD   dmSpecVersion;  WORD   dmDriverVersion;  WORD   dmSize;  WORD   dmDriverExtra;  DWORD  dmField

lekonpeng的专栏 4947

GWT1.7学习之 了解基本的使用

下载完了,解压缩到G盘,目录如下所示: 写道 文件夹 PATH 列表 卷序列号码为 002E0031 6015:5EE8 ├─doc │ ├─helpInfo │ └─javadoc │ ├─com │ │ └─google │ │ └─gwt │ │ ├─animation │ │ │ └─client │ │ ├─benchmarks │ │ │ └─client │ │ ├─core │...

过客阵营 -- 简单的就要最简单 259

测试GWT 2.7.0的SuperDevMode模式

先简单记录下,后续有空再完善: 必要条件: 1.GWT 2.7的eclipse plugin安装完毕 2.项目上右键Debug As->Web Application(GWT SuperDevMode) 启动过程遇到两个问题: 1.提示缺少ant,需要将ant-1.9.4.jar和ant-launcher-1.9.4.jar加入到classpath,并设置导出顺序在GWT

applebomb的专栏 2846

解决问题Description Resource Path Location Type Archive for required library:

问题描述:主要是在maven中添加库的时候一直出现如下图所示的错误上图的大概意思是该库文件不可读取,并且获取是无效的压缩文件。并且我进入电脑目录中查看自己的该库文件,也出现了很多错误。解决方法:删除该库的目录下所有的文件,然后在eclipse中重新加载该库文件既可以解决问题。...

大黄奔跑 7311

异常:Invocation of com.google.gwt.user.tools.WebAppCreator failed. See the error log for more details

做一个开源的项目,前台是用GWT做的,下载并安装好GWT后,新建一个项目时报错: Invocation of com.google.gwt.user.tools.WebAppCreator failed. See the error log for more details. 解决方法是: 在环境变量中的系统变量删除Classpath值,然后重新启动eclipse就可以了,真是个莫名

wang1144的专栏 2636

GWT入门教程

GWT入门教程   准备 需要Java SDK 1.6以上的JDK。 需要Apache Ant   下载和安装 GWT SDK GWT SDK包含了核心库,编译器,和开发web应用需要的开发服务器。将压缩文件gwt-2.6.0.zip解压。 GWT附带了一个命令行实用程序webAppCreator,webAppCreator生成开始一个GWT项目所需要的所有文件,还生成Eclips

科华在线 1万+

开发期间的GWT设置---加快编译速度

随着项目功能的完善,GWT模块(Module)越来越多,当要以web模式编译给测试组使用时,编译的总时间越来越多,我的机器编译完8个模块,需要10分钟左右。   抽空研究了一下GWT的编译参数和GWT编译后的代码,发现GWT编译是按:支持的浏览器种类、支持的多语言种类来生成多个html文件。如:支持5种浏览器,支持3种语言,就会生成15个html文件。    如果我们测试阶段的重点是:英文

1936
上一篇: subversion安装、备份、安全认证实践笔记——宋轶聪
下一篇: eclipse3.5安装并破解windowbuilder7.3实践笔记------宋轶聪
etune
博客等级 码龄20年 1粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值