小编Mik*_*rer的帖子

Dart中的错误与异常

为什么Dart中存在错误和异常,而不是错误或异常?

这是一个历史性的原因是什么?

我可以抛出一个错误,我可以抛出异常.分析器中没有像Java一样检查它们(异常与运行时异常)

dart

29
推荐指数
2
解决办法
4149
查看次数

泽西/休息默认字符编码

返回JSON时泽西似乎失败了......
这个:

@GET
@Produces( MediaType.APPLICATION_JSON + ";charset=UTF-8")
public List<MyObject> getMyObjects() {
    return ....;
}
Run Code Online (Sandbox Code Playgroud)

需要返回JSON utf-8编码.如果我只使用

@Produces( MediaType.APPLICATION_JSON)
Run Code Online (Sandbox Code Playgroud)

失败,例如德语umlaute(üöä),将以错误的方式返回.

两个问题:
1 - 对于JSON utf-8是标准 - 为什么不用泽西?
2 - 如果有JSON请求,我可以为整个REST-Servlet设置utf-8吗?

我在Android上使用Jersey 1.5和CRest 1.0.1 ...

rest android servlets jersey

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

我在哪里可以将我的自定义任务类放在Gradle中

编写自定义插件并将其包含在构建脚本中很容易

apply from: "utilities.gradle"
Run Code Online (Sandbox Code Playgroud)

出于测试目的,此文件与build.gradle位于同一目录中

从build.gradle调用utilities.gradle中定义的任务可以毫无困难地工作.在实用程序中,gradle也是一个定义的插件 - 从build.gradle配置它只是起作用.

但是,如果我在utilities.gradle中定义一个自定义任务调用它没有问题,但如果我想在build.gradle中使用该自定义任务,它说

> Could not find property 'GreetingTask' on root project 'TestGradle'.
Run Code Online (Sandbox Code Playgroud)

utilities.gradle:

task hello(type: GreetingTask)

class GreetingTask extends DefaultTask {
    @TaskAction
    def greet() {
        println 'hello from GreetingTask'
    }
 }
Run Code Online (Sandbox Code Playgroud)

的build.gradle

task hellox(type: GreetingTask)
Run Code Online (Sandbox Code Playgroud)

好的......我在这里阅读文档:http://www.gradle.org/docs/current/userguide/custom_tasks.html

它说自定义任务在外面是不可见的......但是......如何与团队分享自定义任务,而不是为所有东西制作一个Jar.我想要的是将utilities.gradle放在网络驱动器上并与另一个共享.

请帮助

gradle

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

init.gradle在构建脚本中的功能

在我的init.gradle中我有

...
// the last thing in init.gradle
def buildTime() {
   def df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'") //you can change it
   df.setTimeZone(TimeZone.getTimeZone("UTC"))
   return df.format(new Date())
} 
Run Code Online (Sandbox Code Playgroud)

在我的build.gradle中,我想做这样的事情:

task showTime() << {
    println buildTime()
}
Run Code Online (Sandbox Code Playgroud)

但我得到"找不到根项目中的参数[]的方法buildTime()......"

Thx提前!

gradle

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

严格模式+分析

我正在使用Google Analytics for Android,但在启用StrictMode后,我收到了很多这样的消息:

 StrictMode policy violation; ~duration=349 ms: android.os.StrictMode$StrictModeDiskReadViolation: policy=23 violation=2
 at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:745)
 at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1345)
 at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1235)
 at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1189)
 at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1309)
 at com.google.android.apps.analytics.PersistentEventStore.peekEvents(Unknown Source)
 at com.google.android.apps.analytics.PersistentEventStore.peekEvents(Unknown Source)
 at com.google.android.apps.analytics.GoogleAnalyticsTracker.dispatch(Unknown Source)
 at com.google.android.apps.analytics.GoogleAnalyticsTracker$1.run(Unknown Source)
 at android.os.Handler.handleCallback(Handler.java:587)
 at android.os.Handler.dispatchMessage(Handler.java:92)
 at android.os.Looper.loop(Looper.java:123)
 at android.app.ActivityThread.main(ActivityThread.java:3647)
 at java.lang.reflect.Method.invokeNative(Native Method)
 at java.lang.reflect.Method.invoke(Method.java:507)
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
 at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

我可以忽略吗?我还尝试将tracker.trackingPageView(...)放入AsyncTask - 相同的结果.

以下是我对StrictMode的设置:

    StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
    .detectDiskReads()
    .detectDiskWrites()
    .detectNetwork()
    .penaltyLog()
    .build());

    StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
        .detectLeakedSqlLiteObjects()
    .penaltyLog()
    .penaltyDeath()
    .build());
Run Code Online (Sandbox Code Playgroud)

我真的很感激任何帮助 - 提前感谢!麦克风

android android-strictmode

7
推荐指数
1
解决办法
2292
查看次数

KoinTest 类中的 startKoin 抛出“A KoinContext 已经启动”

我在我的一项测试中使用“withTestAppliction”来测试路由是否有效。在所有测试之前,DB-Table“cats”应该没有条目。为了获得 DAO,我需要在此测试中使用 Koin,但如果与“withTestAppliction”冲突,Koin 也将启动并抛出A KoinContext is already started

[更新]
我知道我可以使用类似的东西,handleRequest(HttpMethod.Delete, "/cats")但我不想公开这个 Rest-Interface。甚至不是为了测试。

@ExperimentalCoroutinesApi
class CatsTest: KoinTest {
    companion object {
        @BeforeClass
        @JvmStatic fun setup() {
            // once per run
            startKoin {
                modules(appModule)
            }
        }

        @AfterClass
        @JvmStatic fun teardown() {
            // clean up after this class, leave nothing dirty behind
            stopKoin()
        }
    }

    @Before
    fun setupTest() = runBlockingTest {
        val dao = inject<CatDAO>()
        dao.value.deleteAll()
    }

    @After
    fun cleanUp() {

    }

    @Test
    fun testCreateCat() {
        withTestApplication({ module(testing = true) …
Run Code Online (Sandbox Code Playgroud)

kotlin ktor koin

7
推荐指数
1
解决办法
1839
查看次数

Dart如何适应传统的WebApp目录布局结构

遵循Dart http://pub.dartlang.org/doc/package-layout.html的推荐目录布局, 我无法看到它如何适应传统的WebApp-Project ......

你可以看到我搞砸了一下,但注意到感觉非常正确.任何提示?

Dir结构

[ 更新 ]这可能是一个解决方案吗?它在这里至少用于测试目的...... Dir结构

web-applications dart

6
推荐指数
1
解决办法
281
查看次数

避免在 Dart 中继承类

有没有办法避免 Dart 中的继承?我正在寻找类似的东西

final class MyJavaClass {
    ...
}
Run Code Online (Sandbox Code Playgroud)

dart

5
推荐指数
1
解决办法
1614
查看次数

如何以编程方式启动 ktor-server 进行集成测试

KTor 非常适合单元测试,但如何启动 ktor 服务器进行集成测试?

这就是我的测试的样子:

@ExperimentalCoroutinesApi
class HttpClientTest {
    private val logger = LoggerFactory.getLogger(HttpClientTest::class.java.name)

    companion object {

        @BeforeClass
        @JvmStatic
        fun setup() {
            // ?????
        }

        @AfterClass
        @JvmStatic
        fun teardown() {
            // ????
        }
    }


    @Test
    fun testMitDefaultHttpClient() {
        val httpget = HttpGet("http://0.0.0.0:8080/json/gson")
        httpget.setHeader("Accept", "application/json")
        httpget.setHeader("Content-Type", "application/json")

        val httpclient: HttpClient = HttpClients.createDefault()
        val response = httpclient.execute(httpget)

        Assert.assertEquals(200, response.statusLine.statusCode.toLong())

        val responseString = EntityUtils.toString(response.entity)
        logger.info(responseString)
    }
}
Run Code Online (Sandbox Code Playgroud)

ktor

5
推荐指数
1
解决办法
2056
查看次数

Amazon LightSail 上的权限被拒绝

登录适用于 LightsailDefaultPrivateKey-eu-west-1.pem,但不适用于我自己的密钥对。

我尝试使用 'ssh-keygen -t rsa -b 4096 -C "my@email.com" -f ~/.ssh/lsail-mikemittererat-eu-west-1.pem' 生成密钥

我还尝试在 AWS/S2 上生成一个密钥,下载它,从私钥中生成一个公钥并将其上传到 LightSail - 相同的结果。它不起作用。

错误消息:ssh -i ~/.ssh/ssh_my-website ubuntu@ 权限被拒绝(公钥)。

如果我使用 -v 选项,这就是我得到的结果:

ssh -v -i ~/.ssh/lsail-mikemittererat-eu-west-1.pem ubuntu@<public ip>

OpenSSH_6.9p1, LibreSSL 2.1.8
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug1: /etc/ssh/ssh_config line 56: Applying options for *
debug1: Connecting to <public ip> [<public ip>] port 22.
debug1: Connection established.
debug1: identity file /Users/mikemitterer/.ssh/lsail-mikemittererat-eu-west-1.pem type 1
debug1: key_load_public: No such file …
Run Code Online (Sandbox Code Playgroud)

ssh amazon-lightsail

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

使用Dart将文件上传到服务器

我在测试中使用的是这样的:

_sendFormData(final File file) {
    final HttpRequest httprequest = new HttpRequest();
    final String filename = file.name;

    httprequest.open('POST', "http://localhost:8080/api/file/upload");
    httprequest.on.readyStateChange.add((e) {
      if (httprequest.readyState == 4 && httprequest.status == 200) {
        window.alert("upload complete");
      }
    });

    print("Filename: ${filename}");

    final FormData formData = new FormData();
    formData.append('file', null, filename);
    httprequest.send(formData);
}
Run Code Online (Sandbox Code Playgroud)

是的,我知道这只是我要发送的文件名,但是如何将整个文件发送到服务器?

file-upload dart

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