小编bol*_*est的帖子

IntelliJ Android插件:抑制BuildConfig.java的生成或更改它的编写位置?

我试图阻止IntelliJ将生成的文件放在我的主源文件夹中.这些生成的.java文件干扰了我与其他工具一起使用的glob规则.(想想find -name '*.java'.)

对于Android开发,我似乎能够自定义R.java从AIDL编译器生成的输出目录和文件,但IntelliJ似乎一直在创建gen/目录和BuildConfig.java在源代码树中编写文件.有什么办法可以阻止它吗?

我意识到通常,gen/文件夹是在文件夹旁边创建的src/,但在我的情况下,我使用的是:

<sourceFolder packagePrefix="com.example" />
Run Code Online (Sandbox Code Playgroud)

所以在下面gen/创建的目录com.example看起来像一个新的包(com.example.gen)而不是.

java android intellij-idea

20
推荐指数
1
解决办法
1858
查看次数

如何防止IntelliJ将资源复制到项目编译器输出目录中?

我在IntelliJ中有以下目录结构,其中包含一个Android库项目:

java/com/example/base/AndroidManifest.xml
java/com/example/base/assets # contains Android assets
java/com/example/base/res    # contains Android resources
java/com/example/base/Base.java
java/com/example/base/base.iml
Run Code Online (Sandbox Code Playgroud)

base.iml包含以下内容:

<content url="file://$MODULE_DIR$">
  <sourceFolder url="file://$MODULE_DIR$"
                isTestSource="false"
                packagePrefix="com.example.base" />
  <sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" />
  <excludeFolder url="file://$MODULE_DIR$/res" />
</content>
Run Code Online (Sandbox Code Playgroud)

当我构建一个依赖于我的库项目的Android应用程序项目时,我收到一个错误:

[myapp] java.util.zip.ZipException: duplicate entry: res/drawable/image_shadow.9.png
Run Code Online (Sandbox Code Playgroud)

项目结构对话框中,我配置项目编译器的输出是一个out我的项目的根目录下.当我尝试构建我的Android项目时,我注意到我的Android资源的副本最终在该out/production/base/com/example/base/res/文件夹下.

我的假设是我的Android资源被视为"普通"Java资源(您将加载使用的类型Class.getResource()),这就是他们被复制到的out/production原因,这反过来导致duplicate entry我看到的异常.

不知道是不是这样的话?如果是这样,我该如何防止这些文件被复制?在Eclipse中,文件中的<classpathentry>元素.classpath具有一个excluding属性,该属性采用glob模式来防止这种行为.

android intellij-idea

11
推荐指数
1
解决办法
3216
查看次数

是否有一个用于异步JSON解析器的Node模块,它不会将整个JSON字符串加载到内存中?

我意识到有大量的Node模块提供了用于解析JSON的异步API,但是它们中的许多似乎都读取整个文件或流到内存中,构造一个巨大的字符串,然后将其传递给JSON.parse().这就是"如何使用NodeJS解析JSON?"的第二个答案.建议,并且正是jsonfile模块所做的.

构建一个巨大的字符串正是我想要避免的.我想要一个像这样的API:

parseJsonFile(pathToJsonFile): Promise

其中,Promise被返回解析为解析的JSON对象.此实现应使用恒定的内存量.我对任何类似SAX的东西都不感兴趣,因为各种各样的部分被解析后广播事件:只是最终的结果.

我认为jsonparse可能会做我想要的(它显然包括解析JSON而不使用的逻辑JSON.parse()),但是没有简单的例子README.md,而examples目录中一个文件似乎过于复杂.

javascript parsing json node.js

9
推荐指数
2
解决办法
2163
查看次数

如何在不使用<add-resource>的情况下使用aapt多个-S值?

我试图通过从命令行使用aapt来构建R.java.我指定多个-S目录,因为我有多个res目录.我正在建设中使用:

aapt package \
  -M AndroidManifest.xml \
  -m -J gen \
  -S src/com/example/res \
  -S src/com/example/ui/res
Run Code Online (Sandbox Code Playgroud)

不幸的是,我收到以下错误:

src/com/example/ui/res/values/strings.xml:2: error: Resource at app1_name appears in overlay but not in the base package; use <add-resource> to add.
Run Code Online (Sandbox Code Playgroud)

目前,src/com/example/ui/res/values/strings.xml包含以下内容:

<resources>
    <string name="app1_name">MyAppName</string>
</resources>
Run Code Online (Sandbox Code Playgroud)

我宁愿不必改为:

<resources>
    <add-resource type="string" name="app1_name">MyAppName</add-resource>
</resources>
Run Code Online (Sandbox Code Playgroud)

(这是在https://groups.google.com/forum/?fromgroups#!topic/android-porting/bYfeLEjERjg上建议的,虽然它似乎无法解决我的问题.)

我是否因为期望-S论证如何运作而误入歧途?

我能想到的唯一解决方法是将所有-S目录作为根res目录的子目录进行符号链接,并指定res为唯一的-S目录.

android aapt

8
推荐指数
1
解决办法
4969
查看次数

是否可以在Java 6中设置RhinoScriptEngine的优化级别?

遇到了 Rhino在通过javax.script.ScriptEngineAPI 运行Rhino时抛出"编译脚本时遇到的代码生成错误:方法生成的字节码超过64K限制"异常的问题.接受的解决方案似乎是要调用setOptimizationLevel(-1)sun.org.mozilla.javascript.Context.

不幸的是,我似乎无法访问由Context该创建的ContextFactory.我曾尝试加入ContextFactory.ListenerContextFactory.getGlobal()将修改Context创建之后,但我的听众似乎永远不会被调用.我还看了一下来自Java 6RhinoScriptEngine源,看看是否有一个我可以设置的属性,ContextFactory以便确定优化级别的值.

据我所知,在Java 7中,RhinoScriptEngine设置优化级别-1默认,并能够通过设置的优化级别rhino.opt.level属性.比较makeContext()方法在Java 7的版本makeContext()在方法的Java 6版本,看看我的意思.

据我所知,我认为我最好的选择是直接运行Rhino,如使用Rhino运行CoffeeScript编译器的示例所示.虽然你可以看到,代码很麻烦,所以javax.script.ScriptEngine如果可能的话,我宁愿使用API,同时继续支持Java 6.还有其他选择吗?

java rhino

6
推荐指数
1
解决办法
4538
查看次数

Javadoc:将警告视为错误?

使用Javadoc时是否可以将警告视为错误?特别是,我从Ant调用Javadoc并且已经完成failonerror="true"了我的<javadoc>任务,但我似乎无法触发它.即使javadoc正在生成警告,我仍然得到Ant完成时BUILD SUCCESSFUL的退出代码0.

我希望能够additionalparam<javadoc>任务的属性中添加一些东西来强制Javadoc警告失败.

ant javadoc

6
推荐指数
2
解决办法
1388
查看次数

是否可以从IntelliJ中的内容根目录中排除文件?

我想.java从IntelliJ中的内容根中排除单个文件."从项目中排除文件"文档表明这是不可能的(它明确说明此操作不适用于Java文件和二进制文件.)

由于对这样的限制不以为然,我尝试编辑我的.iml文件,乐观地插入元素<excludeFile>下的XML元素<content>,但似乎没有任何东西.

有没有人知道这样做的方法(记录或其他方式)?或者有任何线索为什么不支持此功能?相比之下,Eclipse允许其文件中including<classpathentry>元素具有任意模式.classpath.

intellij-idea

6
推荐指数
1
解决办法
2963
查看次数

在保存JavaScript文件时,如何设置Eclipse以删除尾随空格?

我在Ubuntu 11.04上运行Eclipse 3.6(Helios 20110218-0911).在"首选项"下,我转到了以下面板:

JavaScript - >编辑器 - >保存操作.

选中"附加操作"复选框,并选中"删除所有行上的尾随空格".

在此输入图像描述

然而,当我在Eclipse中保存我的JavaScript文件时,我的行尾仍然有尾随空格.

我错过了什么?

javascript eclipse

5
推荐指数
1
解决办法
1万
查看次数

在 BuildBot 中是否可以有多个源签出步骤?

在 BuildBot 中是否可以有多个源签出步骤?我找不到任何明确的文档,但似乎在 BuildBot 中进行源代码检出也会将当前工作目录更改为检出目录,这意味着不清楚从另一个存储库“去”哪里检出然后运行一个同时使用两者的脚本。

考虑http://buildbot.net/buildbot/docs/0.8.1/BuildFactory.html 中的示例:

从这些步骤来看,似乎执行了 CVS 检出,然后make build运行。那是BuildBot中的两步,很方便。

但是,如果您从命令行执行等效操作,则需要三个步骤:

cvs co $CVSROOT
cd directory_that_was_created
make build
Run Code Online (Sandbox Code Playgroud)

cd directory_that_was_created步骤在 BuildBot 中发生在哪里?

但更重要的是,如果我想要两个source.CVS(嗯,真的source.Git)步骤怎么办?运行第二步后我在哪个目录?第二个 repo 是否最终位于第一个 repo 的子目录中?

使用 Git,我似乎可以将一个模块作为另一个模块的子模块,以确保它们都在一个步骤中被检出,但如果可能的话,我宁愿不这样做。

buildbot

5
推荐指数
1
解决办法
949
查看次数

如何打印存储在 .git 文件夹中的 Git 对象的内容?

以下命令不会产生相同的输出:

cat .git/objects/96/d0745960850e8ac97406311f3288b6d035cefc
git show --raw 96d0745960850e8ac97406311f3288b6d035cefc
Run Code Online (Sandbox Code Playgroud)

我已经尝试了各种选项git showgit cat-file,但我似乎无法让事情匹配。我觉得应该以某种方式支持这一点。

具体来说,我想要文档格式。也就是说,我希望看到标题、空字节等。

如果我运行:

cat .git/objects/96/d0745960850e8ac97406311f3288b6d035cefc | zlib-deflate | hexdump
Run Code Online (Sandbox Code Playgroud)

我看到该行开头为:

0000000 62 6c 6f 62
Run Code Online (Sandbox Code Playgroud)

正如我所期望的那样,它对应于“b”“l”“o”“b”。

如果你好奇,我的zlib-deflate脚本的内容是:

#!/usr/bin/env python

# Deflates a stream of bytes compressed via zlib that are passed to stdin.

import io
import sys
import zlib

# /sf/ask/424562141/
reader = io.open(sys.stdin.fileno(), mode='rb', closefd=False)
data = reader.read()
print zlib.decompress(data)
Run Code Online (Sandbox Code Playgroud)

git

5
推荐指数
0
解决办法
780
查看次数

标签 统计

android ×3

intellij-idea ×3

java ×2

javascript ×2

aapt ×1

ant ×1

buildbot ×1

eclipse ×1

git ×1

javadoc ×1

json ×1

node.js ×1

parsing ×1

rhino ×1