在我们的Eclipse插件应用程序中,Eclipse启动时需要很长时间,用户在应用程序的左下角看到"Initialize Java tooling"消息.因为我们的用户与java没有任何关系,我想知道是否可以禁用Initialize Java工具.
另一个问题:什么是Initialize Java工具?
我用以下代码阅读了Stroustrup的这个链接:
class X {
int a;
public:
X(int x) { if (0<x && x<=max) a=x; else throw bad_X(x); }
X() :X{42} { }
X(string s) :X{lexical_cast<int>(s)} { }
// ...
};
Run Code Online (Sandbox Code Playgroud)
我的问题是关于这条线:
X() X{42}{}
括号和大括号之间有什么区别吗?
如果没有差异,我可以在其他函数调用中使用大括号吗?或者只是在构造函数委托中?最后为什么我们应该有这两种语法?这有点暧昧.
我之前有一个关于使用unique-ptrs的问题.我得到这个答案,建议使用仅移动对象.我定义了一个类如下:
class B {
const string objName;
public:
B ( B && ) = default;
B & operator= ( B && ) = default;
B ( const B & ) = delete;
B & operator= ( const B & ) = delete;
B(const string & name) :
objName(name) {
}
virtual ~B();
const string name() const { return objName;};
}
Run Code Online (Sandbox Code Playgroud)
我用这句话打电话给B:
class A {
A(){}
void take(B b);
}
A a;
B b("test");
cout<<b.name();
a.take(std::move(b));
cout<<b.name();
Run Code Online (Sandbox Code Playgroud)
我的问题:
我们已经在 OpenSuse 机器上安装了 TeamCity。TeamCity 的版本是 9.1.3。
我已经在服务器上安装了 JDK 1.8,但我没有将它用作默认 Java。我想更新每个代理以使用新的 JDK(版本 8)构建,如果所有代理的更新成功,那么我将尝试为整个系统升级 JDK。
我找不到一种简单的方法来运行具有特定 JDK 版本的代理或项目。我习惯使用 Jenkins,在那里使用不同的 JDK 进行构建非常容易。
我查看了 Team city 文档,但找不到任何真正的说明,我们如何为项目或代理使用特定的 Java 版本。
有什么帮助吗?
我最近安装了Eclipse Juno,之后我从这个存储库安装了p4Eclipse 4.2插件:http://www.perforce.com/downloads/http/p4-eclipse/install/4.2
然后我尝试创建一个新的perforce连接.我输入了服务器名称和用户名和密码.但点击下一步时收到错误消息:
com.perforce.p4java.exception.ConfigException:java.io.FileNotFoundException:\ p4tickets.txt(访问被拒绝)
阅读P4Eclipse帮助我理解,因为我没有定义用户环境变量P4TICKETS,P4Eclipse试图自己定义它.在帮助中已经提到如果未明确设置值,则将为Windows定义为%USERPROFILE%\ p4tickets.txt,并将所有其他平台定义为$ HOME/.p4tickets
似乎P4Eclipse已经为其他平台配置了,因此它试图找到不允许的文件.当我使用值%USERPROFILE%\ p4tickets.txt定义用户环境变量P4TICKETS时,它工作正常.问题是我们有很多客户端,我不想为所有客户端定义环境变量.所以我想知道是否有一套为Windows平台配置P4Eclipse或在eclipse中定义P4TICKETS而不是环境变量!
我有一个具有这三个功能的 Holder 对象
unique_ptr<Object> Holder::remove(string objName){
std::vector<unique_ptr<Object>>::iterator object =
find_if(objects.begin(), objects.end(),
[&](unique_ptr<Object> & obj){ return obj->name() == objName;}
);
objects.erase(std::remove(objects.begin(), objects.end(), *object));
return std::move(*object);
}
vector<unique_ptr<Object>> const& Holder::getContent() const {
return this->objects;
}
void Holder::add(unique_ptr<Object> objPtr) {
this->objects.push_back(move(objPtr));
}
Run Code Online (Sandbox Code Playgroud)
我写了一个 CPPunit 测试如下:
void HolderTest::removeObject() {
Holder holder("bag");
unique_ptr<Object> ringPtr(new Object("a"));
holder.add(move(ringPtr));
unique_ptr<Object> swordPtr(new Object("b"));
holder.add(move(swordPtr));
holder.remove("a");
vector<unique_ptr<Object>> const& objects = holder.getContent();
CPPUNIT_ASSERT(objects.size() == 1);
}
Run Code Online (Sandbox Code Playgroud)
这个测试毫无问题地通过,但对我来说很奇怪的是,如果我添加以下行:
const std::string name = objects[0].get()->name();
CPPUNIT_ASSERT_EQUALS("b", name);
Run Code Online (Sandbox Code Playgroud)
然后测试在没有任何消息的情况下崩溃。我在另一个测试中编写了这一行而没有调用 remove 并且它没有任何问题。如果我将向量大小的值更改为 2 或 0 CPPUNIT_ASSERT(objects.size() …
最近我将我们的应用程序jdk从Java 6更新为Java 8,但仍将源语言级别保持为Java 6.更改后,我们的一个单元测试失败了.我注意到LinkedList的Collections.sort在Java 8和Java 6中的工作方式不同.即使我是JDk 1.8的Source Level java 8,我也会得到相同的不同行为.要重新创建问题:定义下面的枚举:
public enum Weight {
A(1), B(0), C(0), D(0), E(2);
public int getWeight() {
return weight;
}
private int weight;
Weight(int weight) {
this.weight = weight;
}
@Override
public String toString() {
return name() + '(' + weight + ')';
}
}
Run Code Online (Sandbox Code Playgroud)
和一个主类如下:
public class Main {
public static void main(String[] args) {
List<Weight> weightList = new LinkedList<Weight>();
weightList.add(Weight.A);
weightList.add(Weight.B);
weightList.add(Weight.C);
weightList.add(Weight.D);
weightList.add(Weight.E);
Collections.sort(weightList, new Comparator<Weight>() {
@Override
public int compare(Weight …Run Code Online (Sandbox Code Playgroud) 我正在处理许多 xsd 文件。我注意到有几种基于 xsd:token 和 xsd:string 的类型定义,没有任何限制。例如
<xsd:complexType name="BaseString">
<xsd:simpleContent>
<xsd:extension base="xsd:token"/>
</xsd:simpleContent>
</xsd:complexType>
Run Code Online (Sandbox Code Playgroud)
我想知道这样的定义是否有理由。为什么不使用 xsd:token 或 xsd:string 而不是 BaseString 类型?任何想法?
我想知道是否有办法在eclipse中定义一个可以呈现和显示html文件的视图,或者用其他词来定义一个像浏览器一样工作的视图!我的意思是一个eclipse插件的视图.
例如,如果我可以定义基于org.eclipse.swt.browser的浏览器并将其关联到viewcontentprovider?
我不想在eclipse编辑器中打开一个html文件.我正在编写一个eclipse插件,我想在视图中打开一些html表单或xforms,而不是eclipse内部Web浏览器或外部Web浏览器.
我正在尝试学习C#!我对编程语言之间的Java最熟悉!刚才我正试图了解Task!TaskJava中有类似的东西吗?
Task的和线程之间有什么区别?Task线程不能提供什么功能?基本上为什么我们需要Task?
java ×5
c++ ×3
c++11 ×3
eclipse ×3
browser ×1
c# ×1
collections ×1
comparator ×1
concurrency ×1
constructor ×1
delegation ×1
eclipse-pde ×1
eclipse-rcp ×1
html ×1
java-8 ×1
jvm ×1
p4eclipse ×1
perforce ×1
schema ×1
sorting ×1
std ×1
teamcity ×1
teamcity-9.0 ×1
unique-ptr ×1
vector ×1
xml ×1
xsd ×1