Spring Boot 使设置一个简单的应用程序变得非常容易。但是我需要更长的时间才能真正获得一个可以上传到远程服务器的 jar 文件。我正在使用 IntelliJ,没有命令行,我使用 gradle。该应用程序以某种方式运行在 Intellij 之外。但是创建的文件在哪里?Bootjar 中的 jar 在哪里?
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:2.0.0.RELEASE")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
bootJar {
baseName = 'gs-spring-boot'
version = '0.1.0'
}
repositories {
mavenCentral()
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
compile("org.springframework.boot:spring-boot-starter-actuator")
testCompile("org.springframework.boot:spring-boot-starter-test")
// add spring data repos
compile("org.springframework.boot:spring-boot-starter-data-jpa")
compile("org.postgresql:postgresql:42.2.4")
// REST interface
compile("org.springframework.boot:spring-boot-starter-data-rest")
// Security
compile("org.springframework.boot:spring-boot-starter-security")
}
Run Code Online (Sandbox Code Playgroud)
更新:添加了项目结构的图片:
更新 2:文件夹结构:
我是MongoDb的新手,正在尝试查看是否可以在Mongodb中执行一个exist()查询。
我正在使用的集合有用户(包括公司和billingGroup等详细信息)和ExpectedCompanies。
通常在Oracle中,用户和ExpectedCompany将位于两个表中,我将这样查询:
SELECT *
FROM tableUsers
WHERE exists (
SELECT 1
FROM tableExpectedCompanies
WHERE
tableExpectedCompanies.companyname != tableUsers.companyName and
tableExpectedCompanies.billingGroup = tableUsers.companyName.billingGroup
)
Run Code Online (Sandbox Code Playgroud)
现在,在MongoDb中将其全部收集在一个集合中,大致如下所示:
{
"_id" : "billingGroupX",
"expectedCompanies" : ["CompanyA", "company B", "supercompany X"],
"users" : [{"name":..., "company": ...}, {}, {}]
}
Run Code Online (Sandbox Code Playgroud)
我希望我可以做这样的事情:
db.MasterData.find(
{'users.company':
{$nin: db.MasterData.find(
{},
{'expectedCompanies:1'})
}
})
Run Code Online (Sandbox Code Playgroud)
但是当然失败很惨,第一个错误是:
error: { "$err" : "$nin needs an array", "code" : 13277 }
Run Code Online (Sandbox Code Playgroud)
MongoDb中实际上是否存在类似物?
什么样的在或不在状态?
编辑:对我的问题最初的负面反馈后。请注意,我正在努力寻找一个存在/不存在/不存在/不存在的情况,在这种情况下您可以使用子查询,因为它通常是在SQL中完成的。
我创建了单击以动态加载组件视图,但我每次单击都是单独的.我想有函数,我通过函数传递一个字符串,而不是在我的函数中输入该字符串来加载视图.
这是一个工作的plunker http://plnkr.co/edit/ZXsIWykqKZi5r75VMtw2?p=preview
零件
@Component({
selector: 'my-app',
template: `
<div>
<h2>Lets dynamically create some components!</h2>
<button (click)="createHelloWorldComponent()">Create Hello World</button>
<button (click)="createWorldHelloComponent()">Create World Hello</button>
<dynamic-component [componentData]="componentData"></dynamic-component>
</div>
`,
})
export class App {
componentData = null;
createHelloWorldComponent(){
this.componentData = {
component: HelloWorldComponent,
inputs: {
showNum: 9
}
};
}
createWorldHelloComponent(){
this.componentData = {
component: WorldHelloComponent,
inputs: {
showNum: 2
}
};
}
}
Run Code Online (Sandbox Code Playgroud)
想要的是一个函数,并从数组中定义一个在(click)中传递并加载视图的变量. 这是一个尝试的plunker: http ://plnkr.co/edit/HRKGhCCEfkOhNjXbr6C5?p = preview
@Component({
selector: 'my-app',
template: `
<div>
<h2>Lets dynamically create some components!</h2>
<li …Run Code Online (Sandbox Code Playgroud) 是否可以使用 JavaFX 文件选择器(或类似的替代方法)来创建新文件?
输入不存在的文件的名称适用于 Linux(确切地说是 Ubuntu),但在 Windows 上,文件选择器不允许这样做。
请考虑以下未编译的示例:
List<Integer> list = Arrays.asList(1, 2, -3, 8);
list.stream()
.filter(x -> x > 0)
.collect(ArrayList::new, ArrayList::add, ArrayList::addAll)
.stream() // Stream<Object>
.map(x -> x * 2)
.forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)
如果我更换
.collect(ArrayList::new, ArrayList::add, ArrayList::addAll)
Run Code Online (Sandbox Code Playgroud)
同
.collect(Collectors.toList())
Run Code Online (Sandbox Code Playgroud)
代码将被编译.那么问题是我如何collect()用供应商和累加器(我需要它)来编写能够在之后调用stream()它?
我想做一个Haskell函数,其中输入(字符串列表)是有序的(总是.输入只有在有序时才有效),我想得到每个不同字符串的出现次数.
例:
ContaOcs["a", "a", "b", "c", "c", "c", "d"]
Run Code Online (Sandbox Code Playgroud)
应该返回:
[(2,"a"), (1,"b"), (3,"c"), (1,"d")]
Run Code Online (Sandbox Code Playgroud)
这是我正在尝试做的事情:
module Main where
contaOcs :: [String] -> [(Int, String)]
contaOcs [] = [_,_]
contaOcs [x] = [1,x]
contaOcs (i, x1:x2:xs)
| x1 == x2 = (i+1,(x2:xs))
| otherwise = (0, (x2:xs))
Run Code Online (Sandbox Code Playgroud)
但是这段代码有一些错误,我不太清楚我应该怎样做才能实现这一点我是功能编程和Haskell的新手.任何人都可以帮我一些信息吗?
谢谢你的帮助.
这段代码
public class MyComparatorWinPCT implements Comparator<Team> {
@Override
public int compare(Team o1, Team o2) {
// TODO Auto-generated method stub
if(o1.rWinPCT > o2.rWinPCT)
{
return -1;
}
if(o1.rWinPCT < o2.rWinPCT)
{
return 0;
}
return 1;
}
}
Run Code Online (Sandbox Code Playgroud)
产生此输出.
休斯顿火箭队,1分,0.793
金州勇士队,2分,0.707
亚特兰大老鹰队,3分,0.293分
Oklahoma City Thunder,4,0.585
以下是调用该方法的方法.
Collections.sort(teams, new MyComparatorWinPCT());
Run Code Online (Sandbox Code Playgroud)
胜利百分比用于比较,它是一个双倍.我已经尝试了返回语句的每个组合,但无法正确.我需要根据胜率来降序排列.首先是胜率最高,然后是等等.
我有这个简单的方法:
private String read(String filePath) throws IOException {
FileReader fileReader = new FileReader(filePath);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String fileContent = "";
StringBuilder stringBuilder = new StringBuilder(fileContent);
while (bufferedReader.readLine() != null){
System.out.println(bufferedReader.readLine());
stringBuilder.append(bufferedReader.readLine());
}
return fileContent;
}
Run Code Online (Sandbox Code Playgroud)
正如你在第8行中看到的那样,我包含了用于debuging目的的print,我希望这个方法从这个txt文件中返回String:
1a1
2b 2a
3c 3b 3a
4d 4cr 4bb4 4a
5e 5d 5c 5b 5ax
6f 6ea 6d 6ca 6bb 6a
7g 7f 7ea
Run Code Online (Sandbox Code Playgroud)
出于某种原因输出是这样的:
2b 2a
5e 5d 5c 5b 5ax
null
Run Code Online (Sandbox Code Playgroud)
为什么它只读取第二和第五行?这个null来自哪里?最后返回的字符串似乎是空的.
我想了解这里发生了什么.谢谢 :)
我有以下代码,有时行为不确定.例如,我在那里传递3个事件,输出只有两个!你能解释一下这种行为的原因吗?
public List<AbstractTransactionResponse> getEventResponse(final List<AbstractEvent> events){
List<AbstractTransactionResponse> abstractTransactionResponses = new ArrayList<>();
events.parallelStream().map(event -> {
abstractTransactionResponses.add(getEventResponse(event));
return null;
}).collect(Collectors.toList());
return abstractTransactionResponses;
}
Run Code Online (Sandbox Code Playgroud) 我想拆分下面的字符串并将其存储在HashMap中:
String currentString= "firstName-lastName-rollNum-departmentNum=firstName1-lastName1-rollNum1-departmentNum1";
Run Code Online (Sandbox Code Playgroud)
我希望我的输出存储在地图中,如连字符( - )(firstName)之前的第一个字符串和(=)之后的第一个字符串(firstName1),......... ie
{firstName=firstName1,lastName=lastName1,rollNum=rollNum1,departmentNum=departmentNum1}
Run Code Online (Sandbox Code Playgroud)
下面的代码不适用于我的模式:
Map<String,String> mapVal= null;
mapVal = Pattern.compile("\\s*=\\s*")
.splitAsStream(currentString.trim())
.map(s -> s.split("-", 2))
.collect(Collectors.toMap(a -> a[0], a -> a.length>1? a[1]: ""));
Run Code Online (Sandbox Code Playgroud)
一旦我分割了字符串,我就不明白如何将所需的值组合在一起,如上所示.如果你没有得到我的问题,我道歉.
提前致谢 !!
java ×7
java-8 ×3
java-stream ×3
file ×2
angular ×1
arraylist ×1
collections ×1
comparator ×1
dynamic ×1
eclipse ×1
filechooser ×1
haskell ×1
jar ×1
javafx ×1
list ×1
mongodb ×1
spring-boot ×1
sql ×1