- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我是 Grunt 构建的新手。我的要求是,创建 WEB-INF/lib 目录并将 Jar 文件复制到其中,同时使用 Grunt build 执行 war 任务。
下面是我的 war.js 示例:
module.exports = {
/*
* Build a WAR (web archive) without Maven or the JVM installed.
*/
target: {
options: {
war_dist_folder: 'deploy',
/* Folder to generate the WAR into */
war_name: 'mySampleApp',
/* The name fo the WAR file (.war will be the extension) */
webxml_webapp_version: '2.5',
war_extras: [{
filename: 'WEB-INF/weblogic.xml',
data: '<?xml version = "1.0" encoding = "US-ASCII"?> \n\n\
<weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" \n\n\
xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd" \n\n\
xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app"> \n\n\
<context-root>my-sample-app</context-root> \n\n\
<session-descriptor> \n\n\
<timeout-secs>1800</timeout-secs> \n\n\
<cookie-name>JSESSIONID</cookie-name> \n\n\
<cookie-path>/my-sample-app</cookie-path> \n\n\
<url-rewriting-enabled>false</url-rewriting-enabled> \n\n\
</session-descriptor> \n\n\
</weblogic-web-app>'
}],
/* the war_extras are extra files to be generated, needed since grunt-war doesn't create a weblogic.xml */
webxml_welcome: 'index.html',
/* to point web.xml to the default page */
webxml_webapp_extras: ['<login-config />\n',
'<session-config>\n \n\
<session-timeout>\n 30\n </session-timeout>\n\n\
</session-config>\n',
'<servlet>\n \n\
<servlet-name>\n MyServlet\n </servlet-name>\n\n\
<servlet-class>com.sample.servlet.MyServlet</servlet-class>\n\n\
</servlet>\n',
'<servlet-mapping>\n\
<servlet-name>MyServlet</servlet-name>\n\
<url-pattern>/maySampleApp</url-pattern> \n\
</servlet-mapping>'
]
},
files: [{
expand: true,
cwd: 'release',
/* find the source files for the WAR in the /release folder */
src: ['**'],
dest: ''
}]
}
};
请提供创建 WEB-INF/lib 目录并将 jar 文件复制到其中的说明。
最佳答案
您是否尝试过一些“简单”的操作,因为(files
采用“array”参数......这个特定的选项字段没有真正记录 at grunt-war ):
// ...,
files: [{
expand: true,
// better ...no cwd, "copy single file tree" @see [2]
src: ['release/*'],
dest: ''
}, // a second "files" object! (and my particular answer)
{
// expand: false, assuming/hoping for a flat *.jar structure (all in one folder)
// cwd: '', NO cwd ...
/* GET all files with "lib/*.jar" "matcher" */
src: ['lib/*.jar'],
/* ... and "destinate" into "WEB-INF/lib" */
dest: 'WEB-INF/lib'
}
] // ...
?
没有保证,没有测试,只是一个gutshot! :)
当您的“lib”文件夹结构过于花哨时,您必须使用 epxand
和 cwd
,请参阅: [1] , [2] , @RobC 的评论。
当所有这些都以 grunt-war plugin 失败时,我会尝试 copy ( jar )进入“release/WEB-INF/lib”,before war
被执行。
关于java - 如何使用 Grunt 将 jar 文件复制到 WEB-INF/lib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50306441/
我安装了 grunt 和 grunt cli,但仍然出现命令未找到错误 { "name": "angulartdd", "version": "1.0.0", "description":
我有一个使用“grunt-contrib-watch”和“grunt-exec”的 Grunt.js 文件,这是因为我想以一种独特的方式使用 handlebars 预编译器的一些自定义功能。 代码:
我正忙于尝试完成我正在运行的部署脚本。它可能有一半的时间有效,而且令人沮丧,因为我使用的大部分代码都不是我写的。我真的希望有一个我可以执行的较低级别的解决方法。 基本上发生的事情是我正在尝试执行 5
我想像在文档中定义的那样将参数传递给grunt-shell: module.exports = function(grunt) { // Configure Grunt grunt.initConfi
背景 我正在使用 Yeoman webapp 来搭建我的前端。 在 gruntfile 中,他们使用 grunt-rev 和 grunt-usemin Grunt-rev 将“修改”我的 Assets
我已经设置了grunt-eslint在我的 gruntfile.js 中,但是当我运行“grunt eslint”时,什么也没有发生。该任务看似即将开始,但 15 分钟后却停滞不前。 我的所有其他任务
我最近开始使用 grunt 做 JS 项目。 我有一个名为“grunt-contrib-jasmine”的插件用于 Jasmine 测试。我工作得很好,但我无法在浏览器中通过 specrunner 运
谁能告诉我这里做错了什么(我是 grunt 的新手)一个大学给我提供了一个基本的 gruntfile 设置 我已经安装了 node、js 和 grunt,但我不知道如何安装各种包(uglify、con
我正在尝试使用 grunt-contrib-watch和 grunt-rsync将任何文件更改上传到我的开发服务器。这是我的设置: var path = require('path'); module
尝试使用grunt-kill创建一个任务来终止我的 server-scorm 任务,并最终终止所有相关任务。这些说明非常短,因为它假设我知道有关 PID 文件的所有信息(我不知道,不是开发人员的错误)
我要么脑子一片空白,要么本该更复杂。 我正在尝试从 Grunt 任务运行 grunt-init,如下所示: grunt.registerTask('init', 'Scaffold various a
我有一个从玩家发射的射弹预制件,当它与“边界”碰撞时,它应该摧毁自己,当它击中“咕噜声”时,它应该摧毁自己和咕噜声。但是,当它碰到边界时,它会破坏自身和边界的对撞机。我创建了一个自定义标签脚本,允许我
module.exports = function(grunt){ grunt.initConfig({ pkg: grunt.file.readJSON('package.json'),
我已经加入了一个非营利性开源项目,想帮点忙,但我对 Grunt 不熟悉。我做了一些研究,但无法弄清楚为什么配置不起作用。 这是我正在尝试使用的插件。它允许应用多个后处理器,但我现在只需要 Autopr
下面的代码读取app/modules/中的每个子目录js的内容(例如app/modules/module1/js/, app/modules/module2/js/, aso.) 此脚本在不使用最后一
我正在尝试使用 grunt-exec 运行一个 javascript 测试运行程序,并传入一个已部署的链接变量。 我尝试通过使用 exec:setLink 设置环境变量 grunt.option('l
当我使用 grunt-contrib-watch 更改我的 js 文件时,我试图让 Grunt 重新加载它们。这是我的 Gruntfile: module.exports = function(gru
所以我的意思是: grunt.registerTask('default', ['default']); // CLI: grunt grunt.registerTask('serve', ['ser
我想创建一个通用的顶级 Gruntfile.js,配置为监视较少的文件更改。当less文件发生变化时,我想将其编译为css,然后在浏览器中实时加载css文件。我的功能正常,但我必须为每个项目复制 Gr
我正在使用 grunt-xmlpoke 更新 xml 文件。 xml 文件的路径作为参数提供。问题是文件部分中的第一个 WebConfigPath (键)被视为字符串。它更新了我的 xml 文件的本地
我是一名优秀的程序员,十分优秀!