小编Jan*_*yne的帖子

CORS弹簧靴和angularjs无法正常工作

我试图在另一个应用程序(spring-boot应用程序)上调用REST端点(angularjs).应用程序在以下主机和端口上运行.

  • REST应用程序,使用spring boot, http://localhost:8080
  • HTML应用程序,使用angularjs, http://localhost:50029

我也在使用spring-securityspring-boot应用程序.从HTML应用程序,我可以对REST应用程序进行身份验证,但此后,我仍然无法访问任何REST端点.例如,我有一个如下定义的angularjs服务.

adminServices.factory('AdminService', ['$resource', '$http', 'conf', function($resource, $http, conf) {
    var s = {};
    s.isAdminLoggedIn = function(data) {
        return $http({
            method: 'GET',
            url: 'http://localhost:8080/api/admin/isloggedin',
            withCredentials: true,
            headers: {
                'X-Requested-With': 'XMLHttpRequest'
            }
        });
    };
    s.login = function(username, password) {
        var u = 'username=' + encodeURI(username);
        var p = 'password=' + encodeURI(password);
        var r = 'remember_me=1';
        var data = u + '&' + p + '&' + r;

        return $http({
            method: 'POST',
            url: 'http://localhost:8080/login',
            data: …
Run Code Online (Sandbox Code Playgroud)

rest spring-mvc cors angularjs spring-boot

71
推荐指数
7
解决办法
12万
查看次数

将工件部署到Nexus 3所需的最小权限集是多少?

我正在使用Nexus Repository Manager 3.1.0-04,我想创建一个只具有部署权限的用户.那需要的最小权限集是什么?

现在我创建了一个nx-deploy具有以下权限的角色:

  • nx-repository-admin- - -read
  • nx-repository-admin- - -browse
  • nx-repository-admin- - -delete
  • nx-repository-admin- - -edit
  • nx-repository-admin- - -add

然后我创建了一个deployment具有该角色的用户nx-deploy.我现在可以部署工件,但是,我相信我给了太多特权?该admin部分是不是我想要部署用户是,让一部分有我有点紧张.

不用说,在安全部分下有太多的权限可供选择.

deployment nexus maven nexus3

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

如何在不使用鼠标或某些组合键的情况下转到 VS 代码中的行尾?

我正在使用 VS Code 编写一些 HTML。我注意到 IDE 会自动为我插入一些代码。例如,如果我想要一个<p>标签,VS Code 将为<p></p>我创建一个标签,并且光标将落在中间(在开始和结束段落标签之间)。但是,当我在标签内输入完内容后<p>,通常我会使用鼠标或向右方向箭头移至末尾。有没有办法让我的手指不从打字位置(例如 fdsa 和 jkl;)移动到行或标签的末尾,或者我总是必须使用鼠标或方向键?

我发现 JetBrains 提供的 IDE 对于某些语言没有此限制。例如,在 Python 中,如果我想使用 PyCharm 打印某些内容,我可以键入(右单引号和右括号会自动添加)

print('')
Run Code Online (Sandbox Code Playgroud)

我的光标将落在单引号内。为了简单地超出右括号,我只需输入'后跟),IDE 足够聪明,知道不要在那里放置单引号和右括号(就像使用向右箭头两次来超出 print 语句一样)。

WebStorm 与 VS Code 一样,在处理 HTML 时也存在“问题”。如果我位于开始和结束<p>标签内,并且紧挨着结束标签</p>,则只需输入<, /, p,>不会将我带到外面(与 Python 和 PyCharm 一样)。在 Windows 上,我可以按End键,在 Mac 上,我可以按fn+right到达结尾;但这需要打破我的双手在打字位置的流动和连续性(眼睛也必须重新定向)。

关于如何使用 VS Code 或其他带有 HTML 的现代 IDE 来提高编码器的工作效率,有什么建议吗?有没有我们可以使用的插件来解决这个问题?

html ide webstorm visual-studio-code

29
推荐指数
6
解决办法
8万
查看次数

如何在Eclipse中使用Scala找到正确的Maven原型项目?

我在Eclipse(Luna)中尝试使用Scala(v2.11.6)创建Maven项目时遇到了问题.这里的说明是下面安装两个插件.

  • Eclipse中的Maven集成
  • m2eclipse-scala连接器

可以使用m2eclipse-scala更新站点安装这两个插件.所以这就是我第一次尝试时所做的.

  • 下载Eclipse Luna(适用于JavaEE开发人员)
  • 使用m2eclipse-scala更新站点安装上面的"两个"插件.

当Eclipse加载时,我尝试创建一个Maven项目,我想要使用的原型是Group Id = net.alchim31.maven,Artifact Id = scala-archetype-simple,Version = 1.5.但是,当我在过滤器文本字段中输入"scala-arch"时,此原型永远不会出现.

我看到的唯一项目是Group Id = org.scala-tools.archetypes,Artifact Id = scala-archetype-simple,Version = 1.2.当我选择使用这个原型时,我在Eclipse中收到一堆错误消息.

  • 加载ConsoleRunner时出错,Scala签名ConsoleRunner预期版本错误:5.0找到:4.1在ConsoleRunner.class中
  • 加载JUnit4时出错,Scala签名JUnit4预期版本错误:5.0找到:JUnit4.class中的4.1
  • 加载规范时出错,Scala签名规范有错误版本:5.0发现:4.1.在Specification.class中

在我的第二次尝试中,我尝试下载预打包的软件包(Scala IDE for Eclipse).同样,当我尝试创建Scala Maven项目时,我没有看到Group Id = net.alchim31.maven的Maven原型(仅适用于Group Id = org.scala-tools.archetypes).

关于我在这里做错了什么的想法?或者我可以在哪里找到一个香草Scala Maven项目来导入/修改和用于我自己的目的?

eclipse scala m2eclipse maven maven-archetype

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

如何在iOS 7.1中使用NSURLSession对HTTP请求和响应进行单元测试?

我想知道如何使用NSURLSession"单元测试"HTTP请求和响应.现在,当作为单元测试运行时,我的完成块代码不会被调用.但是,当从AppDelegate(didFinishWithLaunchingOptions)中执行相同的代码时,将调用完成块内的代码.正如在这个线程中所建议的那样,NSURLSessionDataTask dataTaskWithURL完成处理程序没有被调用,需要使用信号量和/或dispatch_group"以确保在网络请求完成之前阻塞主线程".

我的HTTP邮政编码如下所示.

@interface LoginPost : NSObject
- (void) post;
@end

@implementation LoginPost
- (void) post
{
 NSURLSessionConfiguration* conf = [NSURLSessionConfiguration defaultSessionConfiguration];
 NSURLSession* session = [NSURLSession sessionWithConfiguration:conf delegate:nil delegateQueue:[NSOperationQueue mainQueue]];
 NSURL* url = [NSURL URLWithString:@"http://www.example.com/login"];
 NSString* params = @"username=test@xyz.com&password=test";
 NSMutableRequest* request = [NSMutableURLRequest requestWithURL:url];
 [request setHTTPMethod:@"POST"];
 [request setHTTPBody:[params dataUsingEncoding:NSUTF8StringEncoding]];
 NSURLSessionDataTask* task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
  NSLog(@"Response:%@ %@\n", response, error); //code here never gets called in unit tests, break point here …
Run Code Online (Sandbox Code Playgroud)

objective-c ios xctest nsurlsession nsurlsessiontask

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

如何检查jar文件是否有效?

我的webapp允许用户上传jar文件.但是,上传jar文件后,它已损坏.我通过比较md5校验和(winmd5free)来验证这一点.

上传的jar文件看起来"正常"和"正确"

  • 与原始文件相比较的文件大小(在KB级别)
  • 我可以使用7z打开上传的jar文件并查看其内容(资源和类文件),与原始文件相比,一切都是相同的

当我打开上传的jar文件(使用Notepad ++)时,我注意到二进制内容与原始内容不同.另外,当我使用JarInputStream读取jar条目时,没有条目.

JarInputStream is = new JarInputStream(new FileInputStream(new File("uploaded.jar")));
JarEntry entry = null;
while(null != (entry = is.getNextJarEntry())) {
 System.out.println(entry.getName());
}
Run Code Online (Sandbox Code Playgroud)

此外,当我双击jar(Windows)时,我收到以下消息.

错误:jarfile无效或损坏

我的问题是

  • 有没有办法以编程方式检查jar文件是否有效?我本来希望JarInputStream立即检测到它,但它根本没有显示任何问题
  • 当我双击jar文件,在Windows中,它是java.exe给我无效或损坏的jarfile消息?
  • 如何在类路径中传入无效的jar文件时,不会抛出错误/异常?例如java -cp uploaded.jar; libs*com.some.class.Test

请注意,这与jar签名和/或检查jar的签名无关.它只是检查一个文件(上传与否)是否是一个有效的jar文件(不一定是jar的类文件是有效的,因为已经有关于这个问题的另一个SO帖子).

跑步的结果

jar -tvf uploaded.jar

java.util.zip.ZipException: error in opening zip file
        at java.util.zip.ZipFile.open(Native Method)
        at java.util.zip.ZipFile.<init>(ZipFile.java:127)
        at java.util.zip.ZipFile.<init>(ZipFile.java:88)
        at sun.tools.jar.Main.list(Main.java:977)
        at sun.tools.jar.Main.run(Main.java:222)
        at sun.tools.jar.Main.main(Main.java:1147)
Run Code Online (Sandbox Code Playgroud)

java jar classpath java-ee

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

使用Spring Boot Maven插件时,jar文件中缺少Spring Boot应用程序中的资源

我使用Spring-Boot v1.3.0.M5和Maven v3.3.3.我曾经能够使用此命令从控制台运行我的Spring Boot(启动)应用程序.

mvn clean package spring-boot:run

但是,我不得不修改我pom.xml的帐户以适应不同的环境构建.特别是,我使用Maven配置文件来修改启动应用程序的属性文件.现在,当我运行前面提到的命令时,启动应用程序无法运行并抱怨以下异常.

引起:java.lang.NumberFormatException:对于输入字符串:"$ {MULTIPART.MAXREQUESTSIZE}"

我有一个属性文件位于src/main/resources/config/application.properties.此属性文件有一堆键值对,如下所示.

multipart.maxFileSize=${multipart.maxFileSize}
multipart.maxRequestSize=${multipart.maxRequestSize}
Run Code Online (Sandbox Code Playgroud)

然后在我的pom.xml,我的构建定义如下.

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <includes>
                <include>**/*.properties</include>
            </includes>
        </resource>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>false</filtering>
            <excludes>
                <exclude>**/*.properties</exclude>
            </excludes>
        </resource>
    </resources>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
<profiles>
    <!-- development -->
    <profile>
        <id>env-dev</id>
        <activation>
            <activeByDefault>true</activeByDefault>
            <property>
                <name>env</name>
                <value>dev</value>
            </property>
        </activation>
        <properties>
            <multipart.maxFileSize>250MB</multipart.maxFileSize>
            <multipart.maxRequestSize>250MB</multipart.maxRequestSize>
        </properties>
    </profile>
    <!-- staging -->
    <profile>
        <id>env-stg</id>
        <activation>
            <activeByDefault>false</activeByDefault>
            <property>
                <name>env</name>
                <value>stg</value>
            </property>
        </activation>
        <properties>
            <multipart.maxFileSize>500MB</multipart.maxFileSize>
            <multipart.maxRequestSize>500MB</multipart.maxRequestSize>
        </properties>
    </profile> …
Run Code Online (Sandbox Code Playgroud)

java spring maven spring-boot spring-boot-maven-plugin

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

如何将typings.d.ts 文件添加到Angular 7 项目?

我在这里关注本教程,作者说要在项目typings.d.ts文件中添加两个声明。但是,当使用ng-cli来创建 Angular 7 项目时,并没有生成这样的文件。

另一篇文章中(针对 Angular 2),作者建议创建一个typings文件夹并将其放置在typings.d.ts那里并tsconfig.json使用files密钥修改文件;这样做给了我一个TS5023: Uknown compiler option 'files'.信息。

然而,在这篇文章中,最重要的答案表明typings.d.ts应该ng-clisrc文件夹下创建,但我没有看到它(我使用的是 Angular CLI v7.3.1)。

我的问题是,对于 Angular 7,我应该如何以及在哪里添加typings.d.ts?添加此类文件时还需要修改哪些其他文件?

typescript typescript-typings angular

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

为什么SparkLauncher会立即返回并且不会产生任何工作?

SparkLauncher在Spark v1.6.0中使用.我的问题是,当我使用这个类启动我的Spark作业时,它立即返回并且没有提交作业.我的代码如下.

new SparkLauncher()
 .setAppName("test word count")
 .setAppResource("file://c:/temp/my.jar")
 .setMainClass("my.spark.app.Main")
 .setMaster("spark://master:7077")
 .startApplication(new SparkAppHandler.Listener() {
   @Override public void stateChanged(SparkAppHandle h) { }
   @Override public void infoChanged(SparkAppHandle h) { } 
  });
Run Code Online (Sandbox Code Playgroud)

当我调试代码时,我注意到,令我惊讶的是,所有这些clazz真正做的是调用脚本spark-submit.cmd使用ProcessBuilder.

[C:/tmp/spark-1.6.0-bin-hadoop2.6/bin/spark-submit.cmd, --master, spark://master:7077, --name, "test word count", --class, my.spark.appMain, C:/temp/my.jar]

但是,如果我ProcessBuilder直接在控制台上运行此命令(运行的命令),则会提交Spark作业.关于发生了什么的任何想法?

还有另一种方法SparkLauncher.launch()可用,但javadocs说要避免这种方法.

知道发生了什么事吗?

java apache-spark spark-launcher

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

JavaScript Promise是异步的吗?

只是一个澄清的简单问题:JavaScript Promise异步吗?我一直在阅读很多帖子Promise和异步编程(即ajax请求).如果Promise不是异步,我们如何做到这一点?

例如,我有一个函数来包装的功能f与参数数组args内的Promise.没有什么f本质上是异步的.

function getPromise(f, args) {
 return new Promise(function(resolve, reject) {
  var result = f.apply(undefined, args);
  resolve(result);
 });
}
Run Code Online (Sandbox Code Playgroud)

为了使这个异步,我阅读了一些SO帖子,并决定setTimeout很多人建议使代码无阻塞.

function getPromise(f, args) {
 return new Promise(function(resolve, reject) {
  setTimeout(function() { 
   var r = f.apply(undefined, args);
   resolve(r);
  }, 0);
 });
}
Run Code Online (Sandbox Code Playgroud)

这种方法是否setTimeout可以使代码在内部无阻塞Promise

(请注意,我不依赖于任何第三方Promise API,只是浏览器支持的内容).

javascript asynchronous promise

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