小编Jai*_*iye的帖子

无法使用AutoValue和IntelliJ解析符号

我一直在尝试为IntelliJ的注释处理找到正确的设置,以便它与Gradle的构建过程共存.

每当我使用IntelliJ构建时,我都无法识别gradle-apt-plugin中生成的源代码.

我对我的项目的要求是:

  • IntelliJ和Gradle之间的构建应该是无缝的,不会干扰彼此的过程
  • 我需要使用IntelliJ的每个源集选项创建单独的模块
  • 我需要使用IntelliJ的基于文件夹的结构
  • IntelliJ需要能够识别并自动完成AutoValue类

以下是使用IntelliJ 2017.2.4和Gradle 3.5重现问题的MCVE的步骤:

  • 从IntelliJ创建一个新的Gradle项目
  • 选中"为每个源集创建单独的模块"选项
  • 打开build.gradle文件:
  • 添加以下plugins块:

plugins {
    id 'java'
    id 'net.ltgt.apt' version '0.12'
}
Run Code Online (Sandbox Code Playgroud)
  • 添加以下dependencies

dependencies {
    compileOnly 'com.google.auto.value:auto-value:1.5'
    apt 'com.google.auto.value:auto-value:1.5'
}
Run Code Online (Sandbox Code Playgroud)
  • 转到设置→构建,执行,部署→注释处理器
  • 选中" 启用注释处理"
  • 创建一个类:

@AutoValue
public abstract class GeneratedSourcesTest {

    static GeneratedSourcesTest create(String field) {
        return new AutoValue_GeneratedSourcesTest(field);
    }

    public abstract String field();
}
Run Code Online (Sandbox Code Playgroud)
  • 在IntelliJ上运行Build→Build Project
  • 打开GeneratedSourcesTest类,在静态工厂方法,一切编译好,但我得到错误:

cannot resolve symbol ‘AutoValue_GeneratedSourcesTest’

如何 …

java code-generation intellij-idea auto-value gradle-apt-plugin

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

为什么这会阻止我的PHP代码?

查询是

$q1 = "SELECT * from `event` ORDER BY `upload_date` DESC";
Run Code Online (Sandbox Code Playgroud)

这是功能

function display_content($r, $dis){

foreach($r as $part) {

$dis .= '<br /><div id="event_box">';
$dis .= '<div id="event_name"><a href = " http://'.$part['link'].'" target="_blank"> '.$part['name'].'</a></div>';
$dis .= '<div id="start_date"><b>From: </b>'.$part['start_date'].' </div>';
$dis .= '<div id="end_date"><b>Until: </b>'.$part['end_date'].' </div>';
$dis .= '<div id="event_link"><b>Link: </b><a href = " http://'.$part['link'].'" target="_blank">Event Website</a></div>';
$dis .= '<div id="event_venue"><b>Venue: </b>'.$part['venue'].' </div>';

$a = array(854, 480);
$b = array(300, 300);
$str = $part['embed_code'];
$partVideo = str_replace($a, $b, $str);

$dis …
Run Code Online (Sandbox Code Playgroud)

html php

-3
推荐指数
1
解决办法
65
查看次数