小编Col*_*lin的帖子

如何为Netbeans 7.1创建可分发的Java模板?

我正在尝试为Netbeans 7.1创建一个可分发的模块,它将包含许可证模板和一些java模板.我在Netbean的支持下遵循教程,但他们只讨论如何创建HTML模板.如果我创建一个用作模板的java文件,构建器将尝试编译模板并失败.

我的项目看起来像这样:

Netbeans Code Template Module
  + org.myorg.nbcodetemplates
    - Bundle.properties
    + org.myorg.nbcodetemplates.javaclass
      - JavaClass.java
      - JavaClassDescription.html
      - package-info.java
    + org.myorg.nbcodetemplates.license
      - LicenseDescription.html
      - license-myorg.txt
      - package-info.java
Run Code Online (Sandbox Code Playgroud)

如何让构建器跳过Java模板 - 或者我应该在这里做些什么?如果我离开名为JavaClass.html的JavaClass.java并以这种方式构建模块似乎很高兴,但当我尝试通过New File向导将其添加到项目时它会显示为HTML文件.

java netbeans netbeans-7

15
推荐指数
1
解决办法
576
查看次数

自定义删除shared_ptr的其他参数

无论如何我可以向删除器发送参数std::shared_ptr吗?

感觉像是:

std::shared_ptr<A> myA( a, myDeleter(a, 5) );   
Run Code Online (Sandbox Code Playgroud)

myDeleter这个签名在哪里:

void myDeleter(A* a, int i)
Run Code Online (Sandbox Code Playgroud)

(显然上面的语法是错误的,但只是为了强调我需要我的删除器来获取额外的参数.)

c++ smart-pointers

14
推荐指数
1
解决办法
4042
查看次数

为什么printf圆形浮点数?

我正在尝试使用打印一些浮点数printf.例如:

int main()
{
    printf("%.1f",76.75); 
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:76.8

我对结果有一些疑问.

首先,为什么不打印76.7?

第二,它是如何围绕这个数字的呢?

c floating-point printf

14
推荐指数
3
解决办法
2万
查看次数

Intellisense"切换完成模式"不适用于Visual Studio 2010 Professional中的C++

我在Visual Studio 2010 Professional的Edit-> Intellisense选项卡下的"Toggle Completion Mode"出现问题.图片很好地描述了它.

完成模式在C#中正常工作.请帮忙.

先感谢您!

c++ intellisense visual-studio

10
推荐指数
1
解决办法
6395
查看次数

哪里定义了前缀相关的整数解析?

我有一个简单的测试程序(错误检查已删除):

#include <iostream>
#include <iomanip>
#include <sstream>
#include <string>

int main() {
    std::string line;
    while(std::cin >> line) {
        int value;
        std::stringstream stream(line);

        stream >> std::setbase(0) >> value;

        std::cout << "You typed: " << value << std::endl;
    }

}
Run Code Online (Sandbox Code Playgroud)

哪个适用于依赖于前缀的整数解析.它会解析字符串开头"0x""0X"十六进制和字符串开始'0'为八进制.我在使用和看过的几个资源中对此进行了解释.然而,我无法找到的是C++标准中的一个指示,即它可以保证有效.

C标准strtol中的第7.20.1.4.3节说(6.4.4.1是整数常量的语法)我想抽象运算符在引擎盖下使用它:

如果base的值为零,则主题序列的预期形式是如6.4.4.1中所述的整数常量的形式,可选地前面加上或减号,但不包括整数suf fi x.

这适用于我尝试过的几个GCC版本,但一般使用它是否安全?

c++ language-lawyer

9
推荐指数
1
解决办法
692
查看次数

Git-Svn dcommit导致分支分裂

我遇到了git-svn dcommits的问题,使得git存储库无法跟踪哪些提交.

我尝试确保git中的master分支始终跟随SVN存储库中的trunk.所以,每当我工作,我都在一个主题分支.这是我的情景:

在主题分支中工作一段时间

git checkout -b my-topic
git commit -m "blah blah blah"
Run Code Online (Sandbox Code Playgroud)

然后我决定将我的分支合并回主人

git checkout master
git svn rebase #get any changes in svn
git rebase master my-topic
git merge my-topic --ff-only
Run Code Online (Sandbox Code Playgroud)

直到这里,一切都进展顺利.我现在有主人和我的主题加速并指向相同的提交,整个历史记录如下所示:

A -- B -- C - master + my-topic
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做的时候

git svn dcommit
Run Code Online (Sandbox Code Playgroud)

我最终得到了一个看起来像这样的树(B和C是我最初对该主题做出的提交):

  -- B -- C - my-topic
 /
A -- B -- C - master + remotes/trunk
Run Code Online (Sandbox Code Playgroud)

看起来在dcommit过程中,git将提交推送到SVN,然后在master上重放它们.我认为问题是他们得到不同的提交者信息.我正在使用tortoise plink和SSH密钥登录svn.

在未被推送到SVN的git存储库中提交的提交者信息如下:

Collin Hockey <chockey@xyz.com>
Run Code Online (Sandbox Code Playgroud)

已经推送到svn存储库的提交有这个:

chockey <chockey@6206317d-b652-48a9-a948-4036602fc523>
Run Code Online (Sandbox Code Playgroud)

有什么办法可以防止这些分支分裂吗?我可以通过说来解决它

git rebase master my-topic
Run Code Online (Sandbox Code Playgroud)

再次,但我觉得这应该是不必要的.这个问题的主要问题是,一旦分支的更改被推送到SVN,git就不再认为分支已被合并到任何地方.删除不再需要的旧分支会让人感到困惑.

svn git git-svn

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

如何使用嵌入式Jetty设置静态资源和自定义服务?

我试图通过嵌入Jetty为我的应用程序设置一个简单的Web服务.我想提供两种不同的Web服务,一种简单的HTTP服务器,它只提供静态内容(最终将是一个GWT应用程序)和一个可以为应用程序吐出JSON状态消息的自定义servlet.

我的分发文件夹结构如下所示:

+ dist/
  - MyApp.jar
  + lib/
  + html/
    - index.html
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止配置嵌入式服务器的方法.我在访问时正确地从我的自定义servlet获取测试输出http://localhost/data/,但我似乎无法让DefaultServlet找到我的index.html文件.

public Webserver(int port) {
    server = new Server(port);

    ServletContextHandler context = new ServletContextHandler();
    context.setResourceBase("./html/");
    server.setHandler(context);


    JsonDataApiServlet dataServlet = new JsonDataApiServlet();
    DefaultServlet staticServlet = new DefaultServlet();

    context.addServlet(new ServletHolder(dataServlet), "/data/*");
    context.addServlet(new ServletHolder(staticServlet), "/*");
}
Run Code Online (Sandbox Code Playgroud)

对于将Jetty嵌入到东西中的人来说,这似乎是一项普遍的任务.我是否在正确的轨道上?

编辑

原来这个问题是由于误解了Jetty内部相对路径的计算方式.我是从dist文件夹上方的一个文件夹中运行它,使用java -jar dist\MyApp.jar,而Jetty正在寻找dist\..\html而不是正确的dist\html.从dist文件夹内运行jar可以解决问题.我将回答我是如何工作的,而不必从dist目录中运行.

java jetty embedded-jetty

7
推荐指数
1
解决办法
5976
查看次数

python没有正确读取文本文件

我正在尝试阅读看起来像这样的文本文件:

Date, StartTime, EndTime 
6/8/14, 1832, 1903
6/8/14, 1912, 1918
6/9/14, 1703, 1708
6/9/14, 1713, 1750
Run Code Online (Sandbox Code Playgroud)

这就是我所拥有的:

g = open('Observed_closure_info.txt', 'r')
closure_date=[]
closure_starttime=[]
closure_endtime=[]
file_data1 = g.readlines()
for line in file_data1[1:]:
    data1=line.split(', ')
    closure_date.append(str(data1[0]))
    closure_starttime.append(str(data1[1]))
    closure_endtime.append(str(data1[2]))
Run Code Online (Sandbox Code Playgroud)

我这样做是为了一个与此文件非常相似的前一个文件,一切正常.但是,此文件未正确读取.首先它给了我一个错误"列表索引超出范围" closure_starttime.append(str(data1[1])),当我要求它打印它对data1或closure_date的内容时,它给了我类似的东西

['\x006\x00/\x008\x00/\x001\x004\x00,\x00 \x001\x008\x003\x002\x00,\x00 \x001\x009\x000\x003\x00\r\x00\n']
Run Code Online (Sandbox Code Playgroud)

我已经尝试重写文本文件,以防有关该特定文件有任何损坏,它仍然做同样的事情.我不确定为什么,因为上次这个工作正常.

有什么建议?谢谢!

python text-files

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

Git壁球并合并

谁能告诉我这两个命令之间的区别:

git merge --squash
Run Code Online (Sandbox Code Playgroud)

git merge --no-ff 
Run Code Online (Sandbox Code Playgroud)

git merge squash

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

从类路径加载配置文件

我正在努力使我的Java应用程序易于部署到其他计算机,我正在写一个蚂蚁脚本来做到这一点,这很好.

我在加载jar中清单文件中指定的类路径中列出的资源时遇到问题.

文件夹结构如下所示:

/MyProgram.jar
/lib/<dependencies>
/config/configuration.xml
Run Code Online (Sandbox Code Playgroud)

我不能为我的生活使用ClassLoader访问configuration.xml文件.它与所有依赖项一起在清单文件的Class-Path条目中明确列出.

我尝试了以下的许多变种:

this.xml = Thread.currentThread().getContextClassLoader()
                 .getResourceAsStream(xmlName);

this.xml = this.getClass().getResourceAsStream(xmlName);
Run Code Online (Sandbox Code Playgroud)

使用xmlName作为以下所有值的字符串:

"config/configuration.xml"
"configuration.xml"
"config.configuration.xml"
Run Code Online (Sandbox Code Playgroud)

与此相关,我在config目录中也有一个log4j.properties文件.我如何让log4j拿起它?其他引用说它只需要在类路径中,它也在jar的manifest文件中明确命名.有人能指出我正确的方向吗?

更新:

以下是Class-Path中的实际条目:

Class-Path: <snip dependencies> config/configuration.xml config/log4j.properties
Run Code Online (Sandbox Code Playgroud)

java classpath

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