在我的$ TOMCAT_HOME/conf/server.xml中,我把它放在底部附近:
...
<Context path="/staticdir" docBase="/filesystem/path/to/static/dir"/>
</Host>
</Engine>
</Service>
</Server>
Run Code Online (Sandbox Code Playgroud)
我这样做是因为我的文件系统上有文件我希望tomcat在你去localhost时提供服务:8080/staticdir
但是当我在Intellij-IDEA中启动应用程序时,tomcat日志会说:
使用CATALINA_BASE:"C:\ Users\me.IntelliJIdea11\system\tomcat\Unnamed_Product_2"
如果我进入我的文件系统上的那个目录并查看conf/server.xml文件,它就没有Context我放在那里的标记.为什么intellij会修改它以及如何防止它?
我有一种感觉,我应该对我的$ TOMCAT_HOME/conf/context.xml文件进行此更改,但我很难找到如何在那里进行此更改的示例.如果有人能给我看一个例子,我会认为这是一个答案,因为我注意到intellij没有修改那个文件.
我找到了一个解决方法.
但我真的不喜欢这个,因为当新用户第一次尝试运行应用程序时,我无法想象一种方法来检测他们是否错误地执行了此步骤.
这是我的tomcat配置的图片:
IMO,这个用例确实需要在插件的网页/文档中明确说明.
假设我有一个名为U的项目用于上游,D项目用于下游.当U完成构建时,我希望D签出与刚刚构建的相同的版本.你总是会结账HEAD.
这就是我所做的:
现在我不知道接下来应该做什么,但我没有得到反馈表明这是有效的.事实上,即使是这个致力于插件源的测试用例也表明这是我应该做的.
但是,如果我猜测,我认为我应该将U标记为参数化构建并向其添加参数.这个参数应该被命名为U发送给D的东西.但是,如果我有正确的想法,我不知道我应该命名这个参数.D的控制台日志和U的控制台日志都没有提到任何新参数.
我猜了一下,在U中创建了一个名为"SVN_REVISION"的String参数,并将其默认为-1,但这没有任何效果.每次D触发构建时,SVN_REVISION默认为-1.
这是在exportD项目上运行的输出:
+ export
export BUILD_ID="2013-03-20_09-48-32"
export BUILD_NUMBER="4522"
export BUILD_TAG="jenkins-D-4522"
export BUILD_URL="http://my.jenkins.server.com:8081/job/D/4522/"
export EXECUTOR_NUMBER="2"
export HUDSON_COOKIE="8ec52f7a-d60d-4640-83a9-dbed7351b32a"
export HUDSON_HOME="/opt/hudson"
export HUDSON_SERVER_COOKIE="633967fcd1d6f7b38a85042ada5c3949"
export HUDSON_URL="http://my.jenkins.server.com:8081/"
export JAVA_HOME="/opt/java"
export JENKINS_HOME="/opt/hudson"
export JENKINS_SERVER_COOKIE="633967fcd1d6f7b38a85042ada5c3949"
export JENKINS_URL="http://my.jenkins.server.com:8081/"
export JOB_NAME="D"
export JOB_URL="http://my.jenkins.server.com:8081/job/D/"
export LANG="en_US.UTF-8"
export LD_LIBRARY_PATH="/opt/jdk1.6.0_30/jre/lib/i386/server:/opt/jdk1.6.0_30/jre/lib/i386:/opt/jdk1.6.0_30/jre/../lib/i386"
export M2="/opt/maven/bin"
export M2_HOME="/opt/maven"
export MAVEN_OPTS="-Xms256m -Xmx512m"
export NHINC_PROPERTIES_DIR="/opt/nhinc/Properties"
export NLSPATH="/usr/dt/lib/nls/msg/%L/%N.cat"
export NODE_LABELS="master"
export NODE_NAME="master"
export OLDPWD
export PATH="/sbin:/usr/sbin:/bin:/usr/bin:/opt/java/bin:/opt/apache-ant-1.8.1/bin:/usr/local/bin:/opt/maven/bin"
export PWD="/opt/hudson/jobs/D/workspace"
export SHLVL="2"
export SVN_REVISION="24186"
export SVN_URL="https://a/url/trunk" …Run Code Online (Sandbox Code Playgroud) 如何从Web下载图像并使用Clojure将其保存到文件系统?我知道图像网址,我知道我不能使用spit和slurp执行此操作,因为它是二进制数据,而不是文本.
我想尽可能简单地做到这一点,理想情况下就像吐痰和啜食一样.也就是说,没有很多额外的行使用缓冲区或字节数组.我想在完成后关闭流,但我不在乎它是否效率低下.
在我看来,with-redefs可以做一切binding动态符号可以做的事情,只是它没有需要^:dynamic元数据的限制.那我什么时候应该使用另一个呢?
我有一个界面
export interface MyInterface {
a: number;
b: string;
c: number;
}
Run Code Online (Sandbox Code Playgroud)
我想创建属性名称的文字类型,其值是数字类型
我知道如何使用所有属性名称获取类型
type MyType = keyof MyInterface // gives 'a'|'b'|'c'
Run Code Online (Sandbox Code Playgroud)
我只想得到 'a'|'c'
我希望能够输入test一个类文件,然后按Tab键将其扩展为:
@Test
public void whenThen() {
}
Run Code Online (Sandbox Code Playgroud)
并且还包括适当的进口.这包括import static junit.framework.Assert.*;.
我该怎么做呢?我正在使用Intellij 12
我记得读过一篇关于Ruby如何不真正需要DI或DI框架的文章,因为这些类是开放的.因此,您可以简单地重写依赖项的构造函数,以便它返回一个伪对象.
我是Clojure和函数式编程的新手.我想知道Clojure是否需要依赖注入,或者它可以出于类似/其他原因而放弃它.这是一个可以使用的具体示例(如何指出我的设计是非惯用的Clojure):
想象一下,你正在开发一个网络爬虫/蜘蛛.它需要遍历您下载的网页.这是一个带有副作用的动作.网页可能会在每个查询中发生变化,您的互联网连接可能会被删除等.它会找到网页上的所有链接,访问每个链接,然后以相同的方式遍历它.
现在,您想要编写一个模拟http客户端的测试,以便它返回一个硬编码的字符串响应.你如何-main在测试中调用该程序并阻止它使用真正的 http客户端?
当我使用intellijs'(12.1.4)内置的tomcat时,日志被写入调试面板的输出选项卡而不是正常的localhost日志选项卡.
我按照这个文档添加了我的log4j.properties,它在输出选项卡中正常工作,但它仍然将日志写入右侧选项卡.
当我打包项目并将其部署在独立的tomcat上时,我可以看到日志.
通常我不在乎,但输出选项卡的问题是你无法搜索它.
这是我的log4j,我已经厌倦了ConsoleAppender和RollingFileAppender.
log4j.rootLogger=TRACE, A1
log4j.appender.A1=org.apache.log4j.RollingFileAppender
log4j.appender.A1.File=${catalina.home}/logs/algo_js.log
log4j.appender.A1.MaxFileSize=500KB
log4j.appender.A1.MaxBackupIndex=5
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
# Print the date in ISO 8601 format
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
Run Code Online (Sandbox Code Playgroud)
我缺少什么想法?
我写了一个性能测试类,标记为@Ignore因为它需要很长时间才能运行,我通常不需要运行它.我希望能够右键单击其中一个@Test并说"运行",但是当我在intellij中执行此操作时,它不会运行测试,因为该类被标记为忽略.
我不想评论它,@Ignore因为它太容易意外提交已@Ignore删除的文件.但我觉得如果我明确告诉Intellij运行测试它应该运行它,无论如何@Ignore.请记住,如果我运行一组类(例如:包中的所有类),我仍然希望忽略此测试类.
是否有可能在Intellij中获得此功能?
对于上下文,我正在经历这个问题并试图解决它:Git in Visual studio code 说文件已修改,即使没有更改我在 Windows 10 计算机上使用 cygwin,但我所有的同事都使用 Mac。
得票最高的答案是git config core.filemode false,但我无法弄清楚这样做的后果。安全吗?这是否意味着如果我创建一个 shell 脚本,推送它会丢失可执行位?这是否意味着当我提取新的可执行文件时,它将丢失可执行位?如果有的话,有哪些陷阱?
我已经检查了文档,但它也没有回答这个问题,它只是解释了您何时需要更改它。