我正在寻找一种快速方法,对于任何给定的多模块项目,快速浏览项目层次结构,包括项目中的模块,不包括外部依赖项.
例如,对于一个项目
project root
+- A
+- B
+- C
+- D
+- E
+- F
+- G
+- H
Run Code Online (Sandbox Code Playgroud)
我希望看到AH的快速单屏视图(就像这里描述的那样),它为我提供了一个快速消化的视图,以便了解项目结构.理想情况下,它将是命令行输出,而不是特定于平台的解决方案(我注意到VisualStudio有一个工具).
mvn dependency:tree虽然很棒,但对于这种情况来说太冗长了,我想我可以grep和cut输出分开,但感觉应该有一个更简单的方法(即另一个插件).
我有一个UTF-8编码的字符串,它是一串键+值对,需要加载到Properties对象中.我注意到我的初始实现时出现乱码,经过一些谷歌搜索后,我发现这个问题表明我的问题是什么 - 基本上默认使用ISO-8859-1属性.这个实现看起来像
public Properties load(String propertiesString) {
Properties properties = new Properties();
try {
properties.load(new ByteArrayInputStream(propertiesString.getBytes()));
} catch (IOException e) {
logger.error(ExceptionUtils.getFullStackTrace(e));
}
return properties;
}
Run Code Online (Sandbox Code Playgroud)
没有指定编码,因此我的问题.对于我的问题,我无法弄清楚如何链接/创建一个Reader/ InputStream组合传递给Properties.load()使用提供的propertiesString并指定编码.我认为这主要是由于我在I/O流方面缺乏经验以及java.io包中看似庞大的IO实用程序库.
任何建议表示赞赏
我经常遇到这样一种情况,即我git add为提交编写了一组文件,但是必须对这些文件进行修改,以便最终对这些文件进行修改Changed but not updated.
是否有一个单行程,我只能执行git add存在于Changed but not updated和Changes to be committed列表中的文件?
markdsievers$git status
# On branch master
#
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: src/com/foo/Bar.java
# modified: src/com/foo/Foo.java
#
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
# …Run Code Online (Sandbox Code Playgroud) 我正在尝试解决的情况是从bitbucket上的私有存储库安装一个包,它有自己对bitbucket中另一个私有存储库的依赖.
我用它来启动安装:
pip install -e git+https://bitbucket.org/myuser/project-one.git/master#egg=django_one
Run Code Online (Sandbox Code Playgroud)
然后尝试从setup.py下载它的依赖项,如下所示:
install_requires = ['project-two',],
dependency_links = ['git+https://bitbucket.org/myuser/project-two.git/master#egg=project_two'],
Run Code Online (Sandbox Code Playgroud)
这失败了,pip日志看起来像:
Downloading/unpacking project-two (from project-one)
Getting page https://pypi.python.org/simple/project-two/
Could not fetch URL https://pypi.python.org/simple/project-two/: HTTP Error 404: Not Found (project-two does not have any releases)
Will skip URL https://pypi.python.org/simple/project-two/ when looking for download links for project-two (from project-one)
Getting page https://pypi.python.org/simple/
URLs to search for versions for project-two (from project-one):
* https://pypi.python.org/simple/project-two/
* git+https://bitbucket.org/myuser/project-two.git/master#egg=project-two
Getting page https://pypi.python.org/simple/project-two/
Cannot look at git URL git+https://bitbucket.org/myuser/project-two.git/master#egg=project-two
Could not fetch URL https://pypi.python.org/simple/project-two/: …Run Code Online (Sandbox Code Playgroud) 对于JSON对象,Subject:
{
"permissions":["foo", "bar"],
...
}
Run Code Online (Sandbox Code Playgroud)
...我想反序列化为:
class Subject {
private List<Permission> permissions;
...
Run Code Online (Sandbox Code Playgroud)
......在哪里Permission:
class Permission {
....
public Permission(String permission) {
....
}
Run Code Online (Sandbox Code Playgroud)
Permission 不是我控制的类,所以我只有构造函数来处理.
我确信杰克逊可以做到这一点,但我还是不相信我找到了最好的方法.我的努力ArrayDeserializer和@JsonDeserialize(contentAs = Permission.class)失败,在我开始子类化之前,我JsonDeserializer想验证没有内置功能可以做到这一点.
所以我有几个大型项目,最多使用8个不同的外部存储库,所有这些都在settings.xml中指定,而不是在poms中指定.我们的许多内部依赖项都是快照,所以当它们都在我们的内部仓库中时,这显然会导致大量检查跨多个外部仓库的更新.
所以我的问题是,有没有办法设置一个配置文件/过滤器或任何类似的地方,我可以确保只在特定的仓库中检查更新?
这一切都是为了更好/更快的构建.
我有一个具有以下结构的mongodb文档
> db.user.find().limit(1);
{ "_id" : "1", "foo" : { "bars" : [
{
"name" : "bar1"
},
{
"name" : "bar2"
},
], ... }, ... }
Run Code Online (Sandbox Code Playgroud)
我想为每个人添加一个新属性bar.我已经让我的脚本迭代了bars数组,但我无法在那里获得新属性,我该怎么做?
var users = db.user.find({"foo.bars":{$exists:true}});
users.forEach(function(user) {
user.foo.bars.forEach(function(bar)
{
printjson(bar);
//how can I specify the current 'bar' in this update?
//db.experience.update({_id: user._id}, {$set: {"what goes here?" : "newbarValue"}});
});
});
Run Code Online (Sandbox Code Playgroud) 我的问题是,有没有人找到一个令人满意的迁移大型和频繁更改的存储过程的公式?
这个问题涉及到它,并得到了 Flyway 作者的回应,但已经过去一年多了,并且已经发布了一个带有令人兴奋的新框架钩子的主要版本。
我已经添加了对该问题的更全面的描述以及我对这个 flyway github 问题的当前解决方案,但我想我会接触到更广泛的受众。如上所述,我有一个可行的解决方案,但它有一些不雅的方面。
我想知道是否可以在此处充分利用 MigrationResolvers 或 FlywayCallbacks?
我想要递归搜索我的maven存储库(一个n文件夹深层的jar),用于未知jar中的特定类.
jar -tvf myJar.jar | grep ClassIWant.class适用于已知的jar,但是我在管道/链接bash命令时遇到问题,无法实现递归搜索.
任何提示非常感谢.
input = "foo ,,bar ,baz,"
tags = [x.strip() for x in input.split(',') if len(x.strip()) > 0]
Run Code Online (Sandbox Code Playgroud)
期望的输出显然是一个没有空字符串的列表.
问题在于微观优化的精神; 有没有办法让strip()候选人x两次,即一次为测试,一次为追加?
要改写一下,你可以在表达式中生成一个值,这些值可以附加到列表而不需要两次工作吗?
dependencies ×3
java ×2
python ×2
archive ×1
bash ×1
build ×1
class ×1
flyway ×1
git ×1
io ×1
jackson ×1
jar ×1
javascript ×1
maven ×1
maven-2 ×1
mongo-shell ×1
mongodb ×1
pip ×1
postgresql ×1
properties ×1
repository ×1
search ×1
setuptools ×1
utf-8 ×1