小编ice*_*ice的帖子

Rails - 活动记录:添加额外的选择列以查找(:全部)

我想向sum(time_entries.hours)sql select 添加新列我正在查询这样的条目:

issues = Issue.visible.where(options[:conditions]).all(
    :include => ([:status, :project, :time_entries] + (options[:include] || [])).uniq,
    :conditions => statement,
    :order => order_option,
    :joins => query_joins(order_option.join(',')),
    :limit => options[:limit],
    :offset => options[:offset],
    :group => "#{Issue.table_name}.id"
)
Run Code Online (Sandbox Code Playgroud)

它生成这个选择:

SELECT
 "issues"."id"                         AS t0_r0,
 ...
 "time_entries"."hours"                AS t3_r4,
 ...
 "versions"."sharing"                  AS t8_r9
FROM "issues"
 LEFT OUTER JOIN "projects" ON "projects"."id" = "issues"."project_id"
 LEFT OUTER JOIN "issue_statuses" ON "issue_statuses"."id" = "issues"."status_id"
 LEFT OUTER JOIN "time_entries" ON "time_entries"."issue_id" = "issues"."id"
 LEFT OUTER JOIN "users" ON …
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails rails-activerecord

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

proguard 不适应 jar 文件内的资源

我这样使用混淆器:

<proguard configuration="${proguard.config}" ignorewarnings="true">
        <libraryjar dir="${build.lib}" filter="!some**.jar"/>
        <injar file="${build.dir.result}/some.jar"/>
        <injar>
            <fileset refid="another.jars"/>
        </injar>
        <outjar file="${build.dir.result}/some_obf.jar"/>
        <keep name="${entrypoint.class}">
            <method name="main"/>
        </keep>
 </proguard>
Run Code Online (Sandbox Code Playgroud)

在配置中我还有选项(以及更多 -keep):

-adaptresourcefilenames    **.properties
-adaptresourcefilecontents
Run Code Online (Sandbox Code Playgroud)

在 jar 中,我编译了类和 spring xml 配置。配置位于 META-INF/spring/ 中。所有类名称均被正常混淆(选中),来自 xml 的所有类均被混淆并具有新名称。我想用混淆的类名替换 spring xml 中的完全限定类名。这就是为什么我添加了 adaptresourcefilecontents 参数,但 xml 未受影响。怎么了?

java obfuscation jar proguard

5
推荐指数
0
解决办法
1738
查看次数