小编ses*_*ses的帖子

在IntelliJ IDEA中为scala项目附加源代码

我有Scala的Playframework 2项目(非常小).它使用Scala Anorm库.

我有这样的代码:

package models
..
import anorm.SqlParser._
...

val rowParser = scalar[Long]
Run Code Online (Sandbox Code Playgroud)

所以,我想看看标量方法的来源.试图附上我在plaframework源文件夹中的源代码,但IDEA只是吞下我的请求并且什么也没做.

我使用最新版本的IDEA和Scala插件.这可能是错误吗?

scala intellij-idea playframework-2.0

9
推荐指数
2
解决办法
7721
查看次数

如何在IntelliJ IDEA中运行akka actor

来自Akka的网站文档:

然后,这个主要方法将创建运行actor所需的基础结构,启动给定的主actor,并在主actor终止后安排整个应用程序关闭.因此,您将能够使用类似于以下的命令运行上述代码:

java -classpath akka.Main example.two.HelloWorld

那么,我如何从IntelliJ IDEA启动它呢?我还没有找到合适的窗口.

对AKKA的依赖已经在项目中:

 <dependencies>
        <dependency>
            <groupId>com.typesafe.akka</groupId>
            <artifactId>akka-actor_2.10</artifactId>
            <version>2.2-M3</version>
        </dependency>
    </dependencies>
Run Code Online (Sandbox Code Playgroud)

代码本身(你可以看到没有main(...)):

public class HelloWorld extends UntypedActor {

    @Override
    public void preStart() {
        // create the greeter actor
        final ActorRef greeter =
                getContext().actorOf(Props.create(Greeter.class), "greeter");
        // tell it to perform the greeting
        greeter.tell(Greeter.Msg.GREET, getSelf());
    }

    @Override
    public void onReceive(Object msg) {
        if (msg == Greeter.Msg.DONE) {
            // when the greeter is done, stop this actor and with it the application
            getContext().stop(getSelf());
        } else unhandled(msg); …
Run Code Online (Sandbox Code Playgroud)

java intellij-idea akka

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

Scala for-loop.以consice方式获取索引

在这段代码中,我想增加index它以将它放到每个yield结果中.

var index=0

for(str <- splitToStrings(text) ) yield  {

  if (index != 0) index += 1               // but index is equal to `0` all the time

  new Word(str, UNKNOWN_FORM, index )
}
Run Code Online (Sandbox Code Playgroud)

为什么我不能改变index?那么实现这种逻辑的最佳方法是什么,试图简洁?

loops scala yield

9
推荐指数
2
解决办法
8539
查看次数

新泽西州.如何根据url param生成json和xml输出

这是一项Jersey服务:

@GET
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public Response service(@QueryParam("format") String format) {

  if (format.equals("json")) {...}

  return response;

}
Run Code Online (Sandbox Code Playgroud)

我想根据url param "format" 生成XMLJSON回复.

我的回复实例正在形成jaxb2

我知道如果在我的Java客户端/功能测试中使用此代码,我可能会得到xmljson回复:

String content = service.path("").queryParam("myparam", "myvalue").accept(MediaType.APPLICATION_XML).get(String.class);
Run Code Online (Sandbox Code Playgroud)

要么

String content = service.path("").queryParam("myparam", "myvalue").accept(MediaType.APPLICATION_JSON).get(String.class);
Run Code Online (Sandbox Code Playgroud)

但我需要根据url param这样做.

java xml json jaxb jersey

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

Spring,使用@Configuration和@Bean注释

我有一个代码:

@Configuration
public class BeanSample {

    @Bean(destroyMethod = "stop")
    public SomeBean someBean() throws Exception {
        return new SomeBean("somebean name1");
    }


    class SomeBean {

        String name;

        public SomeBean(String name) {
            this.name = name;
        }

        public void stop() {
            System.out.println("stop");
        }
    }

    public static void main(String[] args) throws Exception {

        BeanSample beanSample = new BeanSample();
        SomeBean someBean1 = beanSample.someBean();

        ClassPathXmlApplicationContext appContext = new ClassPathXmlApplicationContext(
                new String[] {"appContext.xml"});

        SomeBean someBean2 = (SomeBean) appContext.getBean("someBean");

        if (someBean1 == someBean2) System.out.println("OK");

    }
}
Run Code Online (Sandbox Code Playgroud)

我期待,一旦我启动应用程序,BeanSample.getSomeBean()然后SomeBean开始由'someBean'提供.

现在我有一个错误:没有定义名为'someBean'的bean …

java spring annotations

8
推荐指数
2
解决办法
4万
查看次数

Play Framework 2在Intellij IDEA中运行JUnit测试

我使用Play Framework 2.0.4和Java + IntelliJ IDEA.

尝试从IDEA启动测试,并出现如下错误:

Class not found: "models.SoftwareTest"
Run Code Online (Sandbox Code Playgroud)

这是测试本身.

package models;

    public class SoftwareTest {

        @Test
        public void findById() {
            running(fakeApplication(), new Runnable() {
                @Override
                public void run() {
                    Software software1 = Software.find.byId(1L);
                    assertThat(software1.name).isEqualTo("Soft1");
                    assertThat(software1.description).isEqualTo("Description1");
                }
            });
        }
    }
Run Code Online (Sandbox Code Playgroud)

任何人?

PS我已经清理了所有项目/常春藤文件,已从播放2.0.4切换到2.1 RC1并返回..它没有帮助.但它过去有一天工作.我在谷歌找到了很多关于此的记录,但还没有找到答案.

我也查看了这篇文章(与Ebean和测试有关):

http://blog.matthieuguillermin.fr/2012/03/unit-testing-tricks-for-play-2-0-and-ebean/

但我现在遇到的问题是不同的.但只是在这里分享这个链接,它可以帮助重现问题.

这个:http://monocaffe.blogspot.com.es/2012/12/play-21-rc1-migration-mini-guide.html

java junit intellij-idea playframework-2.0

8
推荐指数
2
解决办法
5514
查看次数

java位操作>>>移位

为什么如果

int x = -1 // binary: 11111111111111111111111111111111
x = x >>> 31; 
Run Code Online (Sandbox Code Playgroud)

我们有00000000000000000000000000000001

但如果

int x = -1
x = x >>> 32;
Run Code Online (Sandbox Code Playgroud)

我们有11111111111111111111111111111111(再次-1)

但不是00000000000000000000000000000000?

java int bits operation

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

IntelliJ Idea默认使用SBT进行编译

假设我有一个scala代码,打开intellij idea:

object Test extends App {
                           // <- I click here
  def init[T](xs: List[T]) : List[T] = xs match {
    case List() => throw new Error("empty list")
    case List(x) => List() // empty list 
    case head :: tail => head :: init(tail)
  }

  val list = List(1,2,4)

  println ( init(list) )

}
Run Code Online (Sandbox Code Playgroud)

然后,当我想要启动此代码时,我点击行之间objectdef定义,以便IDE知道我想要启动的内容(在这种情况下是整个对象,因为我没有选择任何方法).单击CTRL + SHIFT + F10 - 运行.

它开始..我在我的配置组合框中看到"测试"...但在那个确切的时刻我停止编译过程..并转到该配置更改配置..

我改变的是:"在发布之前"部分使其与"sbt:compile"一起运行.我这样做是因为我想依靠SBT而不是IDE.

问题是: …

scala intellij-idea

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

使用AngularJS观看整个对象(深度观察)

这是angular-resource variable / object表示表单数据的范围:

    $scope.form = {
              name: 'bob', 
              email: 'bob@bobs.com'
    }
Run Code Online (Sandbox Code Playgroud)

我可以通过各种方式观察name变量的变化.

    $scope.$watch('form.name', function(newVal) {
        if(newVal) {
            alert(newVal)
        }
    });
Run Code Online (Sandbox Code Playgroud)

如果更改了任何文件,可以使用什么方法 - 名称,电子邮件或任何scope.form可能有的?

我的目的是根据用户在表单上更改某些内容的事实禁用或启用我的表单"保存".

javascript angularjs

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

7
推荐指数
2
解决办法
3557
查看次数