Apache Ant

Eclipse

杀马特。学长 韩版系。学妹 提交于 2020-03-02 22:21:23
我在尝试设置断点时在Eclipse中遇到这个奇怪的错误。 Unable to insert breakpoint Absent Line Number Information 我勾选了编译器选项中的复选框,但没有运气。 #1楼 这对我有用: 在 Window --> Preferences --> Java --> Compiler --> Classfile Generation ,所有选项都必须为 True 。 在build.xml <javac> 任务中使 debug="true" 。 通过ant生成的战争在tomcat中部署应用程序 在 Debug 模式下重新启动Tomcat #2楼 当我在jetty服务器上制作并通过ANT编译新的.war文件时,我遇到了同样的问题。 在必须像之前编写的那样设置Java Compiler之后,您应该制作相同版本的jdk / jre编译器和构建路径(例如jdk 1.6v33,jdk 1.7,....)。 我做了一切,仍然没有工作。 解决方案是删除已编译的.class文件和生成的war文件的目标,现在它的工作:) #3楼 在eclipse菜单中,转到Window-> Preferences-> Java-> Compiler 取消标记复选框“添加行号属性...” 单击应用 - >是 选中“添加行号属性...”复选框 再次申请。 快乐的调试

在Javascript中Eval函数的使用

廉价感情. 提交于 2020-03-01 01:04:35
【eval()函数】 JavaScript有许多小窍门来使编程更加容易。 其中之一就是eval()函数,这个函数可以把一个字符串当作一个JavaScript表达式一样去执行它。 举个小例子: var the_unevaled_answer = "2 + 3"; var the_evaled_answer = eval("2 + 3"); alert("the un-evaled answer is " + the_unevaled_answer + " and the evaled answer is " + the_evaled_answer); 如果你运行这段eval程序, 你将会看到在JavaScript里字符串"2 + 3"实际上被执行了。 所以当你把the_evaled_answer的值设成 eval("2 + 3")时, JavaScript将会明白并把2和3的和返回给the_evaled_answer。 这个看起来似乎有点傻,其实可以做出很有趣的事。比如使用eval你可以根据用户的输入直接创建函数。 这可以使程序根据时间或用户输入的不同而使程序本身发生变化,通过举一反三,你可以获得惊人的效果。 在实际中,eval很少被用到,但也许你见过有人使用eval来获取难以索引的对象。 文档对象模型(DOM)的问题之一是:有时你要获取你要求的对象简直就是痛苦。 例如

构建dubbo分布式平台-maven构建ant-framework核心代码annotation

感情迁移 提交于 2020-02-29 03:41:10
今天重点讲解的是ant-framework核心代码的编写过程。 其中ant-framework是ant分布式框架的基础核心框架,其中包括CRUD,MVC等一系列基类和模板。另外定义了spring,mybatis,wink等底层框架扩展项目,具体内容包括: 1. annotation相关注解:数据签名注解、用户是否走sso登录注解等,今天我们着重讲解一下annotation的编写。 提醒:自定义annotation可以有效的将我们需要注解的类、方法、字段根据业务所需进行定义可配置化。 2. 编写数字签名的annotaion的类,DataSign.java内容如下: package com.sml.sz.common.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * 数据签名注解 */ @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface DataSign { } 3.

Jenkins 中文社区技术交流微信群问题集之一

只愿长相守 提交于 2020-01-09 19:20:04
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 本文首发于: Jenkins 中文社区 作者:翟志军 Jenkins 中文社区技术交流微信群问题集之一 群里讨论过的问题(使用方法、缺陷)太多,无法全部包含在一篇文章中 申明 :下文中的问题是群友发起的,回答则是由笔者收集整理的。 1. 同一流水线,如何做某个阶段定时执行代码扫描 这个需求的意思是存在一条流水线,流水线中的阶段为:构建阶段 –> 代码扫描阶段 –> 发布测试环境阶段 –> … 而提问者希望当有代码提交时,就执行整条流水线。当到某个时间点时,就只执行扫描阶段。 回答一 当代码没有变化,我们为什么要重复执行扫描呢? 回答二 换成两个流水线,一个提交触发,一个定时触发 回答三 一条流水线加个开关设置是否跳过扫描。 2. 有人做过增量包构建么? 有人做过增量包构建么?问下要用哪些插件,怎么做? 经确认,提问人的需求是有一个代码仓库 x,然后 x 里有 a,b,c 三个模块,开发提交了 a 模块的代码,这时,只打包 a 模块的制品。 回答一 要做的是在流水线里判断提交代码中修改了哪个模块,然后执行你的 ant 命令指定构建某个模块就好了。代码 demo 如下: pipeline{ agent any stages{ stage('build a'){ when{ changeset "a/**" }

HTTP Status 500 – Unable to compile class for JSP

孤街浪徒 提交于 2019-12-30 10:48:54
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 项目jdk使用的是1.6,ant build使用的是1.8,但是使用Tomcat9,Tomcat6运行都会报版本不符的错误 我这边解决方法:更改Tomcat运行环境中使用1.7运行,即可成功运行 来源: oschina 链接: https://my.oschina.net/u/3829307/blog/3150615

如何在一个.BAT文件中运行多个.BAT文件

北慕城南 提交于 2019-12-27 21:52:45
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 我正在尝试使我的 commit-build.bat 执行其他.BAT文件,这是我们构建过程的一部分。 commit-build.bat 内容: "msbuild.bat" "unit-tests.bat" "deploy.bat" 这似乎很简单,但是 commit-build.bat 只执行列表中的第一项( msbuild.bat )。 我已经分别运行每个文件,没有问题。 #1楼 采用: call msbuild.bat call unit-tests.bat call deploy.bat 不使用CALL时,当前的批处理文件将停止并且被调用的批处理文件开始执行。 这是可以追溯到早期MS-DOS时代的一种特殊行为。 #2楼 尝试: call msbuild.bat call unit-tests.bat call deploy.bat #3楼 call msbuild.bat call unit-tests.bat call deploy.bat #4楼 要在 .bat 文件中调用 .bat 文件,请使用 call foo.bat (是的,这很愚蠢,如果可以使用 foo.bat 调用它, foo.bat ,就像在命令提示符下那样,但是正确的方法是使用 call 。) #5楼 查看文件名后,您是否考虑过使用诸如

如何使用glob()递归查找文件?

点点圈 提交于 2019-12-25 17:56:11
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 这就是我所拥有的: glob(os.path.join('src','*.c')) 但我想搜索src的子文件夹。 这样的事情会起作用: glob(os.path.join('src','*.c')) glob(os.path.join('src','*','*.c')) glob(os.path.join('src','*','*','*.c')) glob(os.path.join('src','*','*','*','*.c')) 但这显然是有限且笨拙的。 #1楼 Johan和Bruno针对上述最低要求提供了出色的解决方案。 我刚刚发布了 Formic ,它实现了Ant FileSet和Globs ,可以处理这种情况以及更复杂的情况。 您的要求的实现是: import formic fileset = formic.FileSet(include="/src/**/*.c") for file_name in fileset.qualified_files(): print file_name #2楼 基于其他答案,这是我当前的工作实现,它在根目录中检索嵌套的xml文件: files = [] for root, dirnames, filenames in os.walk(myDir): files

第3章 映射请求

邮差的信 提交于 2019-12-19 19:51:13
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Spring MVC使用 @RequestMapping 注解为控制器指定可以处理哪些URL 请求。 在控制器的 类定义及方法定义处 都可标 @RequestMapping 。 类定义处:提供初步的请求映射信息。相对于WEB应用的根目录。 方法处:提供进一步的细分映射信息。相对于类定义处的URL。 若类定义处未标注 @RequestMapping ,则方法处标记的URL相对于WEB应用的根目录。 DispatcherServlet 截获请求后,就通过控制器上 @RequestMapping 提供的映射信息确定请求所对应的处理方法。 映射请求示例 映射请求参数、请求方法或请求头 标准的HTTP请求报头 @RequestMapping 除了可以使用 请求URL 映射请求外,还可使用 请求方法、请求参数及请求头 映射请求。 @RequestMapping 的 value 、 method 、 params 及 heads 分别表示 请求URL、请求方法、请求参数及请求头 的映射条件。它们之间是 与 的关系,联合使用多个条件可让请求映射更加精确化。 params 和 headers 支持简单的表达式: param1: 表示请求必须包含名为param1的请求参数。 !param1:

教你如何用AST语法树对代码“动手脚”

流过昼夜 提交于 2019-12-17 14:16:22
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 作为程序猿,每天都在写代码,但是有没有想过通过代码对写好的代码”动点手脚”呢?今天就与大家分享——如何通过用AST语法树改写Java代码。 先抛一个问题:如何将图一代码改写为图二? void someMethod(){ String rst=callAnotherMethod(); LogUtil.log(TAG,”这里是一条非常非常长,比唐僧还啰嗦的日志信息描述,但是我短一点还不方便进行错误日志分析,调用callSomeMethod返回的结果是:”+rst); …… } 图一 void someMethod(){ String rst=callAnotherMethod(); LogUtil.log(TAG,”<-(1)->”+rst); …… } 图二 此题需要把代码中和程序逻辑无关的字符串提取出来,替换为id。比如个推日志输出类,缩短日志描述信息后,输出的日志就随之变短,根据映射表可以恢复真实原始日志。 通过何种方案改写? 你可能会想通过万能的“正则表达式”匹配替换,但当代码较为复杂时(如下图所示),使用“正则表达法”则会将问题复杂化,难以确保所有代码的完美覆盖并匹配。若通过AST语法树,可以很好地解决此问题。 import static Log.log; … log(“i am also the log

Java开发人员使用ubuntu的正确姿势

ぐ巨炮叔叔 提交于 2019-12-14 11:15:42
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 安装常用服务 ssh服务 安装软件 sudo apt install openssh-client sudo apt install openssh-server 开启服务 sudo systemctl start ssh.service 安装常用软件 git vim java maven ant gradle 来源: oschina 链接: https://my.oschina.net/weiyue888999/blog/3142925